解题思路:
本来想开两个数组来模拟字符串的变化,可是来回赋值一想就有些头大,于是写出了前几个的打印结果,想找找规律,写的时候就有点感觉可以用递归来做,写完以后终于找到规律。
先写出前五个打印的结果:
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 人评分
永远的丰碑 (C语言代码)浏览:698 |
A+B for Input-Output Practice (IV) (C++代码)浏览:713 |
【亲和数】 (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1968 |
1050题解(结构体数组与结构体指针的使用)浏览:1216 |
1025题 初学者,求帮忙看下,不知道哪错了浏览:325 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:859 |
WU-DNA (C++代码)浏览:804 |
1273题解浏览:527 |
【金明的预算方案】 (C语言代码)浏览:1738 |