C语言程序设计(第三版)何钦铭著 习题4-11

C语言程序设计(第三版)何钦铭著 习题4-11

习题一览表
1. C语言程序设计(第三版)何钦铭著 习题2-1
2.C语言程序设计(第三版)何钦铭著 习题2-2
3.C语言程序设计(第三版)何钦铭著 习题2-3
4.C语言程序设计(第三版)何钦铭著 习题2-4
5.C语言程序设计(第三版)何钦铭著 习题2-5
6.C语言程序设计(第三版)何钦铭著 习题2-6
7.C语言程序设计(第三版)何钦铭著 习题3-1
8.C语言程序设计(第三版)何钦铭著 习题3-2
9.C语言程序设计(第三版)何钦铭著 习题3-3
10.C语言程序设计(第三版)何钦铭著 习题3-4
11.C语言程序设计(第三版)何钦铭著 习题3-5
12.C语言程序设计(第三版)何钦铭著 习题4-1
13.C语言程序设计(第三版)何钦铭著 习题4-2
14.C语言程序设计(第三版)何钦铭著 习题4-3
15.C语言程序设计(第三版)何钦铭著 习题4-4
16.C语言程序设计(第三版)何钦铭著 习题4-5
17.C语言程序设计(第三版)何钦铭著 习题4-6
18.C语言程序设计(第三版)何钦铭著 习题4-7
19.C语言程序设计(第三版)何钦铭著 习题4-8
20.C语言程序设计(第三版)何钦铭著 习题4-9
21.C语言程序设计(第三版)何钦铭著 习题4-10


题目

兔子繁衍问题。一对兔子,从出生后第 3个月起每个月都生一对兔子。
小兔子长到第3个月后每个月又生一对兔子。
假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到n对?
输入一个不超过10000的正整数n,输出兔子总数达到n最少需要的月数。试编写相应程序。


分析过程

输入

条件:输入一个不超过10000的正整数n

输出

条件:输出兔子总数达到n最少需要的月数

分析

第一个月 兔子总数为1
第二个月 兔子总数为1
第三个月 兔子总数为2=1+1(可生育的兔子有一对,所以生一对)
第四个月 兔子总数为3=2+1(可生育的兔子有一对,所以生一对)
第五个月 兔子总数为5=3+2(可生育的兔子有两对(第三个月生的一对,可以生了),所以生2对)
第六个月 兔子总数为8=5+3(可生育的兔子有三对(第四个月生的一对,可以生了),所以生3对)
第七个月 兔子总数为13=8+5(可生育的兔子有五对(第五个月生的两对,可以生了),所以生5对)

所以第n个月(当n大于三时),兔子总数为上个月的兔子总数,以及上上个月兔子总数之和。
特殊情况,如下。
n=1 总数为1;n=2 总数为1
即满足斐波那契数列(不懂可以百度一下)

代码

#include <stdio.h>
#include <math.h>

int main () {
    
    
	/*定义变量*/
	int n;                                                                      /*定义变量,存储输入的正整数n*/
	/*赋值*/
	printf("请输入正整数n:\n");                                					/*输入提示*/
	scanf("%d \n", &n);                                            				/*输入并赋给变量*/
    /*计算*/
    if(n == 1)  printf("1");													/*输入1,则达到需要1个月*/
    else {
    
    
        int i;/*计算的为第几个月兔子总数*/
        int num1 = 1;		/*第i个月的上上个月兔子总数*/
        int num2 = 1;		/*第i个月的上个月兔子总数*/
        int sum = 0;		/*第i个月兔子总数*/
        for(i = 2; sum <n ; i++ ){
    
    
           sum = num1 + num2;/*第i个月兔子总数=上上个月兔子总数+上个月兔子总数*/ 
           num1=num2;		/*第i+1个月的上上个月兔子总数=第i个月的上个月兔子总数*/
           num2=sum;		/*第i+1个月的上个月兔子总数=第i个月的兔子总数*/
        }
        printf("达到数量%d,需要%d个月", n, i);/*执行循环的时候是先执行i++,然后在判断sum小于n是否成立,即sum大于n时,需要的月份为i*/
    }
    
	return 0;
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43228814/article/details/112474140