6个数分别是:
6
16
26
126
36
136
思路:
这题我想了不知道多久了,结果看到这题只要用dfs直接水过,我的内心瞬间就崩溃了,自己竟然不断在想有什么规律,却没想到直接递归,还有就是想到暴力递归求值,但是被我一下子否定了,因为会超时。如果继续向这个方向下去想,说不定就想出来了。
AC代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<string>
#include<vector>
using namespace std;
typedef long long ll;
#define CRL(a) memset(a,0,sizeof(a))
int s;
void dfs(int n)
{
s++;
for(int i=1;i<=n/2;++i){
//从后不断递归出数列,当n=10,10肯定是所有数列最后的数,之后一直不断递归
dfs(i);
}
}
int main()
{
/*freopen("input.txt","r",stdin);*/
int n;
while(~scanf("%d",&n)){
s=0;dfs(n);
printf("%d\n",s);
}
return 0;
}