- UID
- 57282
注册时间2008-11-1
阅读权限10
最后登录1970-1-1
周游历练

该用户从未签到
|
发表于 2009-5-24 22:58:26
|
显示全部楼层
第一个作业
01 ASCII with your own C program IDE
代码:
第三个作业
Fibonacci 数列:
假设每对兔子每月可以生育一对小兔,新生小兔要阁一个月才具有生育能力,若第一个月只有一对新生小兔,若第一个月只有一对新生小兔,求第n个月兔子的对数?
分析过程:
设第n个月一共有y(n)对兔子,相应第(n-1)个月有y(n-1)对兔子,相应第(n-2)个月有y(n-2)对兔子,
第(n-2)个月y(n-2)对兔子中设有m对可以直接生育的,n对要等到下一个月才能生育的—— y(n-2)==m+n ==> 第(n-1)个月的 y(n-1)=(m+n)+m其中(m+n)是可以直接生育的 ==>y(n)==(2m+n)+(m+n)
由递归规律可以得到:y(n)==y(n-1)+y(n-2)
这就是数学里面的差分方程
最初的代码只考虑了数学的算法完全没有考虑C语言的语言,现在参考《C程序设计》重新在发一遍代码
\ * with my own C IDE * \
#include "stdio.h"
main()
{
int i;
long a[36]={1,1};
clrscr();
for(i=2;i<=36;i++)
{
a=a[i-2]+a[i-1];
printf("%10ld",a);
if(!(i%6))printf("\n");
}
getchar();
}
运行效果图:
为什么在右上角有个缺陷了?
[ 本帖最后由 最忌注册 于 2009-6-3 00:57 编辑 ] |
|