C趣味编程百例(31)兎子产子 |
|
www.nanhushi.com 佚名 不详 |
94.兎子产子 从前有一对长寿兎子,它们每一个月生一对兎子,新生的小兎子两个月就长大了,在第二个月的月底开始生它们的下一代小兎子,这样一代一代生下去,求解兎子增长数量的数列。 *问题分析与算法设计 问题可以抽象成下列数学公式: Un=Un-1+Un-2 其中: n是项数(n>=3)。它就是著名的菲波那奇数列,该数列的前几为:1,1,2,3,5,8,13,21... 菲波那奇数列在程序中可以用多种方法进行处理。按照其通项递推公式利用最基本的循环控制就可以实现题目的要求。 *程序与程序注释 #include<stdio.h> void main() { int n,i,un1,un2,un; for(n=2;n<3;) { printf("Please enter required number of generation:"); scanf("%d",&n); if(n<3) printf("\n Enter error!\n"); /*控制输入正确的N值*/ } un=un2=1; printf("The repid increase of rabbits in first %d generation is as felow:\n",n); printf("l\tl\t"); for(i=3;i<=n;i++) { un1=un2; un2=un; un=un1+un2; /*利用通项公式求解N项的值*/ printf(i%10?"%d\t":"%d\n",un); } printf("\n"); }
*运行结果 Please enter required number of generation: 20 The repid increase of rabbits in first 20 generation is as felow: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: C趣味编程百例(31)将阿拉伯数字转换为罗马数字 下一篇文章: C趣味编程百例(32)选美比赛 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|