首页 > 学院 > 开发设计 > 正文

C 练习实例11 斐波那契数列

2019-11-08 02:22:38
字体:
来源:转载
供稿:网友

递归非递归

1.递归
/*C 练习实例11题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)斐波那契数列。*/#include <stdio.h>#define MAX 40int fibonaci(int i){ if(i == 0) { return 1; } if(i == 1) { return 1; } return fibonaci(i-1) + fibonaci(i-2);}int main(){ int i; for(i=0; i<MAX; i++) { PRintf("%d/t",fibonaci(i)); if((i+1)%8 == 0) { printf("/n"); } } return 0;}
2.非递归
/*斐波那契数列*/#include <stdio.h>#define N 40int main(){ int i, j, t, num; i = 0; j = 1; t = 0; num = 1; while(num <= N) { printf("%10d ",j); t = j; j = i + j; i = t; if(num%8 == 0) { printf("/n"); } num++; } return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表