解题思路:
本来想开两个数组来模拟字符串的变化,可是来回赋值一想就有些头大,于是写出了前几个的打印结果,想找找规律,写的时候就有点感觉可以用递归来做,写完以后终于找到规律。
先写出前五个打印的结果:
0 0
1 1
2 01
3 101
4 01101
会发现第n个是由第n-2个和第n-1个拼接而成,例如n=4 可以拆出01 101,所以递归如下:
#include<stdio.h> void ff(int n){ if(n==0)printf("0"); if(n==1)printf("1"); if(n>=2){ ff(n-2); ff(n-1); } } int main() { int n; scanf("%d",&n); ff(n); return 0; }
0.0分
155 人评分