兔子繁衍问题—c语言

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

思路

兔子繁衍问题—c语言_第1张图片

编写程序

1.输入月份,输出兔子总数

#include

int main()
{
    int month;
    scanf("%d",&month);
    int small = 1;
    int big = 1;
    int n = 3;
    int amount ;
    if(month == 1 || month == 2){
        printf("1\n");
    }else{
        while(n<=month){
            amount = small + big;
            int t = small;
            small = amount;
            big = t;
            n ++;
        }
        printf("第%d个月的兔子的个数是%d\n",month,amount);
    }
    
    return 0;
    
}

兔子繁衍问题—c语言_第2张图片 

2.输入兔子总数,输出月份

#include
int main()
{
    int month = 2;
    //scanf("%d",&month);
    int small =1;
    int big = 1;
    int amount;
    int newamount;
    int m ;
    int a = 2;
    printf("请输入兔子数:\n");
    scanf("%d",&amount);
    if(amount == 1){
        printf("达到这样的兔子数是1月和2月\n");
    }else{
        while(newamount!=amount){
              a ++;
              newamount = big + small;
              m = small;
              small = newamount;
              big = m;
              
        }
        printf("达到%d只兔子需要%d个月\n",amount,a);
    }
    
    
    return 0;
    
  
}

兔子繁衍问题—c语言_第3张图片 

 

你可能感兴趣的:(c语言,经验分享)