CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

编成题目求解

楼主afeiguo(独孤不需求偶)2006-03-17 10:47:23 在 C/C++ / C语言 提问

有两个题目,看似很简单。可是做起来却挺困难。题目如下:  
   
  1.   若一只母兔,从出生第4个年头开始每年生一头母兔,按此规律,第n年时有多少只母兔?  
   
  2.   找出从自然数1,2,3,....,n中任取r个数的所有组合。例如n=3,   r=2的所有组合为:3,2   3,1   2,1 问题点数:100、回复次数:10Top

1 楼cunsh(村少)回复于 2006-03-17 11:02:33 得分 10

int   func(int   x){  
  if   (   x   ==   0   )   return   0;  
  if   (   x   <   4   )   return   1;  
  else   return   func(   x   -   1   )   +   func(   x   -   4   );  
  }Top

2 楼angelanpan()回复于 2006-03-17 11:07:36 得分 10

第一题可以用递归,也可以用一个循环。  
  用a表示1岁的牛,b表示2岁的牛,c表示3岁的牛,d表示大于等于4岁的牛  
  初值为(1,0,0,0)  
  the   2nd   year:   (a=0,b=1,c=0,d=0)  
  the   3   year               (0,0,1,0)      
  the   4   year               (1,0,0,1)  
                                    (1,1,0,1)  
                                    (1,1,1,1)  
                                    (2,1,1,2)  
                                      .....  
                                      循环下去就行了  
  最后把a+b+c+d作为结果返回Top

3 楼du51(郁郁思扬)回复于 2006-03-17 11:11:15 得分 50

#include<stdio.h>      
  #include<stdlib.h>  
  #define     MAXN     100  
  int       a[MAXN];    
  void       comb(int   m,int   k)    
  {      
              int   i,j;    
              for   (i=m;i>=k;i--)    
              {  
                          a[k]=i;    
                          if   (k>1)   comb(i-1,k-1);    
                          else    
                          {  
                                  for   (j=a[0];j>0;j--)printf("%4d",a[j]);    
                                  printf("\n");    
                          }    
              }    
  }    
   
  int   main()    
  {  
              int   n,r;  
              printf("请输入n和r\n");  
              scanf("%d%d",&n,&r);  
              a[0]=r;    
              comb(n,a[0]);    
              system("PAUSE");  
              return   0;  
  }  
  Top

4 楼du51(郁郁思扬)回复于 2006-03-17 11:14:40 得分 0

#include<stdio.h>  
  #include<stdlib.h>  
  int   foo(int   n)  
  {  
          if(n==1||n==2||n==3)return   1;  
          else   return   foo(n-1)+foo(n-3);  
  }  
  int   main()  
  {  
          int   n;  
          printf("请输入年份\n");  
          scanf("%d",&n);  
          printf("第%d年有%d只\n",n,foo(n));  
          system("PAUSE");  
          return   0;  
  }Top

5 楼iamcaicainiao(老菜,长征)回复于 2006-03-17 11:21:13 得分 5

1.   若一只母兔,从出生第4个年头开始每年生一头母兔,按此规律,第n年时有多少只母兔?  
  ------------------------找公式哦,地归哦Top

6 楼iamcaicainiao(老菜,长征)回复于 2006-03-17 11:22:46 得分 5

2.   找出从自然数1,2,3,....,n中任取r个数的所有组合。例如n=3,   r=2的所有组合为:3,2   3,1   2,1-----------------排列组合Top

7 楼liumingqiang02(stavie)回复于 2006-03-17 11:28:29 得分 10

第一个问题用递归算法实现比较简单,程序如下:  
  int   Rabit(int   n)  
  {  
    int   i,rabit=0;  
    if(n>=4)  
    {  
      for(i=4;i<=n;i++)  
      {  
        rabit++;  
        rabit+=Rabit(n-i);  
      }  
      return   rabit;  
    }  
    else  
    return   rabit;  
  }  
  main()  
  {  
    int   n=10,SumRabit=1;  
    SumRabit+=Rabit(n);  
    printf("%d\n",SumRabit);  
   
  }Top

8 楼jixingzhong(瞌睡虫·星辰)回复于 2006-03-17 11:30:33 得分 5

1     递归(参看   费式数列!!)  
  2     排列组合啊   ~  
   
  不难的说艾   ~Top

9 楼afeiguo(独孤不需求偶)回复于 2006-03-17 21:49:47 得分 0

TO:   du51,老兄的递归思想很好,并且运用的很恰当。深为佩服!Top

10 楼ykzhujiang(朱朱)回复于 2006-03-18 04:37:54 得分 5

为啥大家都写第一个阿,  
  ps:村少那个写错了,呵呵Top

相关问题

  • 求解一题目。
  • C题目,求解!
  • .net题目求解
  • 求解C++算法题目
  • 求解C++算法题目
  • 一道网程题目求解!!!!!
  • SQL的一个题目,求解?
  • 求解课程设计题目
  • 求救~~~1000分,求解两道数据结构题目
  • 这段SQL怎么写?(高分求解,题目不难)

关键词

  • 母兔
  • 题目
  • comb
  • 所有
  • foo
  • printf
  • include

得分解答快速导航

  • 帖主:afeiguo
  • cunsh
  • angelanpan
  • du51
  • iamcaicainiao
  • iamcaicainiao
  • liumingqiang02
  • jixingzhong
  • ykzhujiang

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo