免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
打印 上一主题 下一主题

[C] 你认为哪个程序体现程序员的水平? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-03-20 10:35 |只看该作者
我刚才发的这个倒了46个月以后就不可以了。

论坛徽章:
0
12 [报告]
发表于 2013-03-20 10:40 |只看该作者
需求不明确,

论坛徽章:
0
13 [报告]
发表于 2013-03-20 10:43 |只看该作者
回复 11# wlmouse

我也正想说呢,你的程序结构清晰,能随意指定月份,但最终月份也应该有条件限制的,因为兔子随月份到后来增长的太快。我始终在想,如果程序员不知道兔子数满足斐波那契数列怎么办?是否题目中就明确告知为好?总不能让程序员自己推导吧。方法二是脱离了斐波那契数列而直接编程的。

论坛徽章:
0
14 [报告]
发表于 2013-03-20 10:52 |只看该作者
回复 13# 晓得飞天千秋雪


    我也说了,咱已经多年不碰C了。这个还是我查了资料写出来的呢。我对你的意见主要是程序结构和明显的数组浪费。

论坛徽章:
0
15 [报告]
发表于 2013-03-20 11:04 |只看该作者
本帖最后由 wlmouse 于 2013-03-20 11:05 编辑

如果要编写无限制的月份和兔子数量,那么就是用了专门的大数计算库也没辙。就好像计算圆周率那位,最后居然用了好几个T的硬盘存结果。我觉得可以在累加时判断一下,如果溢出则警告后停止。

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-03-13 15:26:06CU大牛徽章
日期:2013-03-13 15:26:47
16 [报告]
发表于 2013-03-20 11:31 |只看该作者
我觉得吧,上面那些代码就是 具有抽象思维程序员 与 典型程序员 的差异。  sum[i] = sum[i-1] + sum[i-2];的这么一条语句,在撸主该主题语境下内涵十足。

论坛徽章:
0
17 [报告]
发表于 2013-03-20 11:48 |只看该作者
我一会儿写个结构体的。封装一下就可以在这两种算法之间切换而不影响其它部分。没写结构体是因为我忘了怎么写了。

论坛徽章:
1
技术图书徽章
日期:2013-09-10 08:57:55
18 [报告]
发表于 2013-03-20 11:50 |只看该作者
到第6个月才能生小兔子呢?
斐波那契公式怎么改?

论坛徽章:
0
19 [报告]
发表于 2013-03-20 14:22 |只看该作者
本帖最后由 晓得飞天千秋雪 于 2013-03-20 14:22 编辑

回复 18# pprpg

第6个月才能生小兔子的公式推导可需要些数学的功底了,但改下方法二的程序很容易:

#include <stdio.h>
#define MAXNUM 100000
int main(void)
{
  unsigned int RabID[MAXNUM] = {0};
  unsigned int RabNum = 0;
  int i, j;
  RabID[0] = 1;
  for(i=1; i<=24; i++) //统计24个月
  {
      for(j=0; j<MAXNUM; j++)
      {
          if(RabID[j] > 0) //该对兔子已出生         
         {
              if((i-RabID[j]+1) >= 3) //该对兔子出生满3个月------> 将3改为6即可
              {
                  RabNum = RabNum + 1; //又出生了一对兔子
                  RabID[RabNum] = i; //该对兔子是第i月出生
              }
          }
          else
          {
              printf("第%d月:%d对兔子\n", i, RabNum+1);
              break; //本月统计完毕
          }
      }
  }
  return 0;
}

   

论坛徽章:
0
20 [报告]
发表于 2013-03-20 21:03 |只看该作者
回复 18# pprpg


   如果改为六个月 其数学公式为F(N)=F(N-5)+F(N-1);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP