您的位置:首页 > 其它

经典c程序(0007)---兔子问题(斐波那契数列)

2014-03-16 12:56 489 查看
/**********************************************************************************************************  
* Function        : test  
* Create Date     : 2014/03/16  
* Author          : NTSK13  
* Email           : beijiwei@qq.com  
* Copyright       : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。  
                             任何单位和个人不经本人允许不得用于商业用途  
                             转载请注明 转自 http://blog.csdn.net/beijiwei  
* Version          : V0.1    
* date             : 2014/03/16    
* history          : V0.1     
***********************************************************************************************************  
   
经典c程序(0007)   
  
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
   后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

  
 
 
**********************************************************************************************************/    
#include<stdio.h>   
   
#define MY_FUNC  1  
#if MY_FUNC    

int rabbit_func(int m); 
int main()  
{  
    int k=0;  
  
    printf("plz input month: \n");  
    scanf("%d",&k);
	printf("The number of rabbit is %d\n\n",rabbit_func(k));//单位是对,不是个数
	
	return 0;  
}  

int rabbit_func(int m)
{
	if(m==1 || m==2)// 第一个月
		return 1;
	return rabbit_func(m-1)+rabbit_func(m-2);
}

// refer answer    
#else    
int main()
{
	long f1,f2;
	int i;
	f1=f2=1;
	for(i=1;i<=20;i++)
 	{ 
		printf("%12ld %12ld",f1,f2);
     if(i%2==0) printf("\n");/*控制输出,每行四个*/
   		f1=f1+f2; /*前两个月加起来赋值给第三个月*/
     f2=f1+f2; /*前两个月加起来赋值给第三个月*/
   }
	return 0;
}

  
  
  
  
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: