递归
牛客这边可以过,但是一本通那边会超时
#include<iostream>
using namespace std;
int res = 1;
void fun(int k)
{
for(int i = 1; i <= k >> 1; i ++)
{
res ++;
fun(i);
}
}
int main()
{
int n;
cin >> n;
fun(n);
cout << res;
return 0;
}
递推
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int main()
{
int n;
cin >> n;
for(int i = 1; i <= 1000; i ++) a[i] = 1;//初始化 每个数的自身都算一个答案
for(int i = 2; i <= n; i ++)
for(int j = 1; j <= i >> 1; j ++)
a[i] += a[j];
cout << a[n];
return 0;
}