这类属于递归,得找到递推公式,简单点就从头往下一个个推算。推出结果为止。
#include<iostream>
using namespace std;
int main()
{
int n;
int f[1005] = { 0 };
cin >> n;
f[0] = 1; f[1] = 1;
for (int i = 2; i <= n; i++)
{
if (i % 2 == 0)
f[i] = f[i - 1] + f[i / 2];
else f[i] = f[i - 1];
}
cout << f[n];
return 0;
}