c语言题目 兔子繁衍问题 希望能给我详细讲讲思路 ,

c语言题目 兔子繁衍问题 希望能给我详细讲讲思路 ,一对兔子,从出生后第三个月起每个月都生一对兔子。小兔子长到三个月后每个月又生一对兔子。假如兔子都不死,请问第一个月出生的一对兔子,至少要繁衍到第几个月时兔子总数才可以达到n对?输入一个不超过10000的正整数n,输出兔子总数达到n最少需要的月数。
不要写太深奥的 我怕我看不懂 谢谢

第1个回答  2017-01-05
#include "stdio.h"

int onemonth=1;
int twomonth=0;
int other=0;
int main()
{
int n;
int i=0;
printf("请输入一个正整数:");
scanf("%d",&n);
for(i=1;;i++)
{
int a=onemonth,b=twomonth,c=other;
onemonth=c;
twomonth=a;
other+=b;
if(onemonth+twomonth+other>=n)
{
printf("第%d个月数量将达到%d,为:%d\n",i,n,onemonth+twomonth+other);
break;
}
}
return 0;
}
思路很简单,就是循环月数+1,把兔子分为3类,一个月后能繁衍的,2个月后能繁衍的,3个月后能繁衍的,每次循环统计每类的个数就行了,一个简单的逻辑问题追问

非常感谢 你能给我讲讲你的思路吗

追答

思路不是说了么 在上个回答的最后面啊

追问

好吧 我再看看

不好意思 输入30 你的代码答案是11个月 正确答案不是这个😣

追答

注意:程序中的n的单位是对,你想要达到的是30只还是30对呢?思路应该是不会错,至于为什么跟你预期的不一样,你自己调试下就知道了

追问

好的

本回答被网友采纳
第2个回答  2019-11-12
#include<stdio.h>
long fun(int month)
{
    if(month == 1 || month == 2)
        return 1;
    else
        return fun(month - 1) + fun(month -2);
}
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
int main()

    int N, month;
    scanf("%d", &N);
    if(N>1){
     for(int i=1;;i++){
      if(fun(i)>=N&&fun(i-1)<N){
       month = i;
       break;
      }
     }
 }
 if(N==1){
  month = 1;
 }
    printf("%d", month);
    return 0; 
}

c语言题目 兔子繁衍问题 希望能给我详细讲讲思路 ,
思路很简单,就是循环月数+1,把兔子分为3类,一个月后能繁衍的,2个月后能繁衍的,3个月后能繁衍的,每次循环统计每类的个数就行了,一个简单的逻辑问题

兔子问题一年多少Python(兔子一年生多少只小兔子)
1、兔子数列中,一年后能生多少兔子2、的繁殖由一对兔子开始,一年可以繁殖成多少对兔子3、计算机课作业,关于兔子繁殖问题4、数学中兔子繁衍问题5、关于兔子的数学题目兔子数列中,一年后能生多少兔子这个交斐波那契数列 就是一个个累加上去 规律为:1,1,2,3,5,8,13,21,34,55,89,144,233 但是由...

兔子繁衍问题,裴波那契数列问题。
输入s=0,k=2,n=0 然后让s=s+k 让k=k+n n=n+2 去到“while”循环,让s=N时退出

礼物四年级作文
这真是一个珍贵的礼物呀!它不仅给我带了学习的快乐,更让我感受到妈妈对我的希望。我一定会好好珍惜它。

挫折演讲稿
刚开始,在别人看来很简单的题目,对我来说却很难;绝大多数同学能做对的题,我都不会做。第一堂课是“还原问题”。老师出了一道题,别的同学都会做,但我却做错了。老师耐心地给我讲解,并且说:“早出现错误并不是坏事。”听了老师的话,我又有了信心。每天上完课回家,我会把题做完才睡觉,有时遇到难题会做到...

普罗米修斯的故事,最后的结局
感激之情。故事的的重点是普罗米修斯将火种带给人类,教会人类学会用火生活以及他忍受着宙斯的百般折磨,始终坚强不屈两个部分内容。结局:普罗米修斯的三个可知结局:1、赫拉克勒斯解开锁链,把普罗米修斯带走了。2、喀戎自愿放弃永生,代替了普罗米修斯。3、宙斯为了维持判决结果,让普罗米修斯永远戴着铁环。

相似回答