解题思路:
本来想开两个数组来模拟字符串的变化,可是来回赋值一想就有些头大,于是写出了前几个的打印结果,想找找规律,写的时候就有点感觉可以用递归来做,写完以后终于找到规律。
先写出前五个打印的结果:
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语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:436 |
简单的a+b (C语言代码)浏览:676 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:668 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:687 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:798 |
剪刀石头布 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C二级辅导-阶乘数列 (C语言代码)浏览:522 |
计算质因子 (C语言代码)浏览:707 |