亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: loveguohuasai
打印 上一主題 下一主題

[算法] 母牛數(shù)量算法 [復制鏈接]

論壇徽章:
0
31 [報告]
發(fā)表于 2003-08-05 02:51 |只看該作者

母牛數(shù)量算法

原帖由 "aero" 發(fā)表:
目前有兩種理解,3周歲開始生小牛和4周歲開始生小牛,姑且都算對的話。

“小飛愛使申華”的做法是對的,很巧妙的只用了一個遞歸就完成了,他的做法是3周歲開始生小牛。

loveguohuasai的做法是錯誤的,牛的數(shù)目..........
   

我沒有發(fā)覺你也提到那條公式,f(n)=f(n-1)+f(n-3)(或者n-4),這樣本來就是遞歸了,不用遞歸簡直是犯賤啊 。一個遞歸,都不用幾句就搞定了。

論壇徽章:
0
32 [報告]
發(fā)表于 2003-08-05 05:30 |只看該作者

母牛數(shù)量算法

#include<stdio.h>;
void main()
{
        long int f[100];
        int i;
        f[0]=1;f[1]=1;f[2]=1;
        for(i=3;i<100;i++)
                f=f[i-1]+f[i-3];
        printf("%ld",f[99]);
}

論壇徽章:
0
33 [報告]
發(fā)表于 2003-08-05 08:50 |只看該作者

母牛數(shù)量算法

[quote]原帖由 "aero"]zlzj2010的做法里有一個致命的錯誤,并不是fun(n)=fun(n-1)+fun(n-3),是的確,fun(n-3)的牛在n年可以生牛了,但并不是僅僅這些?梢陨,fun(n-1)里也有很大一部分?梢栽诘趎年繼續(xù)生小牛啊,你的程序里把這一部分漏掉了[/quote 發(fā)表:
     

我覺得地fun(n)年能生小牛的牛的不正是fun(n-3)么?fun(n-1)里是有牛可以生小牛,但它在第n年能生的剛好是fun(n-3)呀,

不只我這思路是否正確?

論壇徽章:
0
34 [報告]
發(fā)表于 2003-08-05 09:37 |只看該作者

母牛數(shù)量算法

原帖由 "aero" 發(fā)表:
目前有兩種理解,3周歲開始生小牛和4周歲開始生小牛,姑且都算對的話。

“小飛愛使申華”的做法是對的,很巧妙的只用了一個遞歸就完成了,他的做法是3周歲開始生小牛。

loveguohuasai的做法是錯誤的,牛的數(shù)目..........
   

PFPF,沒想到100就能溢出啊
這些牛真的太牛了。

aero也比較牛。呵呵

論壇徽章:
0
35 [報告]
發(fā)表于 2003-08-05 09:48 |只看該作者

母牛數(shù)量算法

原帖由 "zlzj2010" 發(fā)表:
   

我覺得地fun(n)年能生小牛的牛的不正是fun(n-3)么?fun(n-1)里是有牛可以生小牛,但它在第n年能生的剛好是fun(n-3)呀,

不只我這思路是否正確?
   


你不明白嗎?這就是一個總局的想法,拋開其他的只在一個四年內(nèi)考慮。
“今年的數(shù)量等于去年加上四年前的數(shù)量“,絕對是這樣,否則要遞歸做什么?
像你說的,(n-1)年也有生牛,但不是在n年啊,在n+2年才生的,意思你也說明白了,在今年(第n年)可以生牛的牛數(shù)就是n-3年的數(shù)(f(n-3)),不就是f(n)=f(n-1)+f(n-3).絕對沒有錯

論壇徽章:
0
36 [報告]
發(fā)表于 2003-08-05 11:48 |只看該作者

母牛數(shù)量算法

對,如果是f(n)=f(n-1)+f(n-3).,那程序更簡單了(main函數(shù)不變):

  1. long num_cow(int n){
  2.    return (n < 4) ? 1 : num_cow(n-1) + num_cow(n-3);
  3. }
復制代碼

論壇徽章:
0
37 [報告]
發(fā)表于 2003-08-05 13:33 |只看該作者

母牛數(shù)量算法

呵呵,分析得太好了,我當時的做法,沒放上來,不過也是同樣的問題:遞歸效率低,而且數(shù)據(jù)溢出,不知道我的結(jié)果對不對:30年 39865頭
PS:牛不會活100歲的:)
  1. #include <stdio.h>;

  2. int cow(int n)
  3. {
  4.   unsigned long sum = 1, i;

  5.   if (n <= 3) sum += 0;
  6.   else {
  7.         for (i = 4; i <= n; i++)
  8.                 sum += cow(i-3);
  9.   }
  10.   return(sum);
  11. }

  12. main()
  13. {
  14.   int n;

  15.   printf("input n years, from 1\n");
  16.   scanf("%d", &n);
  17.   printf("total is %ld\n", cow(n));
  18. }  
復制代碼

論壇徽章:
0
38 [報告]
發(fā)表于 2003-08-05 17:09 |只看該作者

母牛數(shù)量算法

原帖由 "chdonald" 發(fā)表:
呵呵,分析得太好了,我當時的做法,沒放上來,不過也是同樣的問題:遞歸效率低,而且數(shù)據(jù)溢出,不知道我的結(jié)果對不對:30年 39865頭
PS:牛不會活100歲的:)
#include <stdio.h>;

int cow(int n)
{
  ..........
  
30年我只算出328頭,怎么差這么多??
大家算個小一點的,比如10年,看看結(jié)果怎樣,10年可以手工算出來: 18頭。
大家看看自己的算法對不對!

論壇徽章:
0
39 [報告]
發(fā)表于 2003-08-05 17:24 |只看該作者

母牛數(shù)量算法

原帖由 "wangz" 發(fā)表:
  
30年我只算出328頭,怎么差這么多??
大家算個小一點的,比如10年,看看結(jié)果怎樣,10年可以手工算出來: 18頭。
大家看看自己的算法對不對!
   

不對把,10年應該是19頭,

30年是39865

論壇徽章:
0
40 [報告]
發(fā)表于 2003-08-05 18:12 |只看該作者

母牛數(shù)量算法

[quote]原帖由 "chdonald"][/quote 發(fā)表:
     

n=30,得到39865,對
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP