zoukankan      html  css  js  c++  java
  • 【c语言趣味编程100例】兔子问题

     兔子问题:
            有一对兔子,从出生后第3个月起每个月都生一对兔子,
            小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数?
     解题思路:
            兔子的增长个数 其本质上与斐波那契数列是一致的 就是
            本月的兔子总数等于 前一个月的兔子数和前两个月得兔子总个数
            对fib1 和 fib2 初始化为1 
            每执行一个for 兔子的总个数就是前两个月的和,fib = fib1+fib2
            等得到总兔子数fib后,应该将前一个月的兔子数赋值给前两个月的兔子数fib2 = fib1
            总兔子数fib1 = fib 这样依次执行下去,就可以得到总兔子数

    #include<stdio.h>
    void main(){
    	/*
    	兔子问题:
    	 有一对兔子,从出生后第3个月起每个月都生一对兔子,
    	 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数?
    	 解题思路:
    		兔子的增长个数 其本质上与斐波那契数列是一致的 就是
    		本月的兔子总数等于 前一个月的兔子数和前两个月得兔子总个数
    		对fib1 和 fib2 初始化为1 
    		每执行一个for 兔子的总个数就是前两个月的和,fib = fib1+fib2
    		等得到总兔子数fib后,应该将前一个月的兔子数赋值给前两个月的兔子数fib2 = fib1
    		总兔子数fib1 = fib 这样依次执行下去,就可以得到总兔子数
    	**/
    	int fib1 = 1,fib2 = 1,fib = 0;//fib1代表当前前一个月的兔子数量,fib2 代表前两个月的兔子数量
    	printf("%d	%d	",fib1,fib2);
    	for(int i=3;i<30;i++){
    		
    		fib = fib2+fib1;//总兔子数 等于前两个月的和。fib1+fib2
    		
    		printf("%d	",fib);
    		if(i%4==0)
    			printf("
    ");
    		fib2 =  fib1;
    		fib1 = fib;
    	}
    
    }
    
  • 相关阅读:
    tophat安装
    glimmer 3.02安装小记
    Augustus安装小记
    推荐几个手机网站在线预览测试工具
    软件分辨率兼容性测试
    谈谈软件兼容性测试
    网页兼容性测试(工具使用IETESTER、Firefox、360安全浏览器)
    12款很棒的浏览器兼容性测试工具推荐
    测试用例设计——如何提高测试覆盖率
    软件测试报告写作实战案例
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860867.html
Copyright © 2011-2022 走看看