鱼C论坛

 找回密码
 立即注册
查看: 5428|回复: 10

[已解决]c语言小练习-题目6(未完成,有难度,大家一起研究)

[复制链接]
发表于 2011-3-1 02:41:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yhzxwn 于 2011-3-6 01:30 编辑

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
    后每个月又生一对兔子,假如兔子都不死,问1年后每个月的兔子总数为多少?
最佳答案
2011-3-2 00:12:01
#include "stdafx.h"

int main(int argc, char* argv[])
{   
        long 第一个月兔子=1;
        long 第二个月兔子=0;
        long 成年兔子=0;
        for(int i=1;i<120;i++)
        {
        成年兔子+=第二个月兔子;
        第二个月兔子=第一个月兔子;
        第一个月兔子=成年兔子;
        }
        printf("共%d对兔子",成年兔子+第二个月兔子+第一个月兔子);
        getchar();
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-1 02:41:52 | 显示全部楼层
本帖最后由 yhzxwn 于 2011-3-6 01:32 编辑

程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
这个就是Fibonacci
就是每个数都是前两个数之和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-2 00:12:01 | 显示全部楼层    本楼为最佳答案   
#include "stdafx.h"

int main(int argc, char* argv[])
{   
        long 第一个月兔子=1;
        long 第二个月兔子=0;
        long 成年兔子=0;
        for(int i=1;i<120;i++)
        {
        成年兔子+=第二个月兔子;
        第二个月兔子=第一个月兔子;
        第一个月兔子=成年兔子;
        }
        printf("共%d对兔子",成年兔子+第二个月兔子+第一个月兔子);
        getchar();
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-2 00:14:20 | 显示全部楼层
版主加油啊~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-2 21:42:09 | 显示全部楼层
跟斐波那契数列有关系吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 01:24:04 | 显示全部楼层
回复 5# 小飞侠


正解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 01:30:56 | 显示全部楼层
void main()
{
        long int a[12]={1,1};
        for (int i=1;i<=12;i++)
        {
                a[i]=a[i-1]+a[i-2];
                printf("%d\n",a[i]);
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 13:14:59 | 显示全部楼层
回复 2# yhzxwn


    #include<iostream.h>
void daYin(int a=1,int b=1,int s=20)
{
        if(s<=0)
                return ;
        cout<<a<<"\t"<<b<<"\t";
        daYin(a+b,a+b+b,s-1);
       
}
void main()
{
        daYin();
}
    用递归求这样的数组很方便
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-7 01:05:37 | 显示全部楼层
QQ截图未命名2.png
main()
{
        int x,y,i;
        x=1;            /*首先是一对兔子*/
        for(i=1;i<=4;i++)
        {
                y=x*2;
                x=y;
        }
        printf("兔子的数目是%d只\n",x*2);
        system("pause");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-25 22:33:04 | 显示全部楼层
都不对,小兔子要等三个月才能生小兔,之后就一个月一生,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-7-24 22:37:31 | 显示全部楼层
你们说的都不是不对,就是我打了一下,, 没有一个能编机出来的,, 郁闷呀,, 我还以为我操作问题呢,,   可能是我刚学吧,, 有好多问题会出到我个人本身问题上,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-22 02:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表