100步问题
回溯问题,可以递归解决,不断试探走一步,走两步
void go(int n,int step,int& sum) { n = n - step; if(n > 0) { go(n,1,sum); go(n,2,sum); } else if(n==0) { sum ++; } } int main(void) { int sum = 0; go(10,1,sum); go(10,2,sum); printf("sum=%d",sum); return 0; }
int foo(int n) { if(n < 0) return 0; if(n == 1 || n ==0) return 1; return foo(n-1) + foo(n-2); }
本博客内容均来自网络,如有雷同,是我抄袭!