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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

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

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
11 [報告]
發(fā)表于 2003-08-03 23:02 |只看該作者

母牛數(shù)量算法

呵呵,是啊。

對了,樓上的,我用TC2。0編譯你的程序,怎么給50多,給100的時候就計算出負(fù)的值啊?

還有,你的程序里,第四個年頭算的是牛3周歲的時候吧?這樣,你第七年的時候就會有6頭牛,而我的算法才有4頭牛。

我的遞歸算100,快半小時了,還沒結(jié)果。
算55的時候就有時間感了,結(jié)果是19795288。

還有,你的main函數(shù)里調(diào)用的atoi函數(shù),是干什么的呀?

今天沒時間了,去睡覺,明天繼續(xù)想。

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

母牛數(shù)量算法

原帖由 "灰色軌跡" 發(fā)表:
aero  

如果能推導(dǎo)一個公式出來應(yīng)該可以不用遞歸了,這對數(shù)學(xué)基礎(chǔ)要求就高了:(
   

我可以推出一個公式,我就是用公式做的,不過要分開,0<=n<=3;n=4,n=5;n>;5這幾段,應(yīng)該可以,后面用一個循環(huán)好象都、可以了,我還沒有做,應(yīng)該可以

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

母牛數(shù)量算法

這是我的:
   
  1. /* 若一頭小母牛,從出生起第四個年頭開始每年生一頭母牛,
  2. * 按此規(guī)律,第n年有多少頭母牛?
  3. */
  4. #include <stdio.h>;

  5. long num_cow(int n)
  6. {
  7.    int i;
  8.    long sum = 1;
  9.    for (i = 3; i < n; i++)
  10.       sum += num_cow(n - i);
  11.    return sum;
  12. }

  13. void main()
  14. {
  15.    int n;
  16.    printf("please input n years: ");
  17.    scanf("%d",&n);
  18.    printf("Kao: %ld\n", num_cow(n));
  19. }
復(fù)制代碼


題目出的不清楚,這第四年算幾歲啊 (這一出生算第幾年。,虛歲是4歲,實(shí)足是3歲,我是按實(shí)足3歲算的,如果要按實(shí)足4歲,把我的code中 i 的初始值由3改為4就行。

唉,摟住,你有什么公式,拿出來大伙瞧瞧,把你的code也貼出來吧,還有,你最好把這個帖子的標(biāo)題改了,改為(關(guān)于母牛的算法問題),這樣比較好,一目了然。

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

母牛數(shù)量算法

原帖由 "小飛愛使申華" 發(fā)表:

題目出的不清楚,這第四年算幾歲啊 (這一出生算第幾年啊),虛歲是4歲,實(shí)足是3歲,我是按實(shí)足3歲算的,如果要按實(shí)足4歲,把我的code中 i 的初始值由3改為4就行。

唉,摟住,你有什么公式,拿出來大伙瞧瞧,把..........
   

應(yīng)該是這樣的:在第四年初生一頭,第四年初有兩頭,這樣下去,每頭牛在第四年初開始生第一頭,大于第四年就繼續(xù)生。
在第六年開始,第n年的頭數(shù)為sum=born(k-1)+(k-5),意思就是第n-1年有a頭,n有b頭,n+1有c頭,那c=b+(n+1-5),b=a+(n-5),
直接來說就是明年減去今年的數(shù)量比今年減去年的數(shù)量大1。
我用vc:
#include<iostream.h>;
long born( unsigned  int k)
{                                                                                                                                                        
                if(k<=5)
                        return 3;
                else
                {int sum;
                               sum=born(k-1)+(k-5);
                        return sum;
                        }
                }
void main()
{
        int n,a;
        cin>;>;n;
        a=born(n);
                   if(n<=3)
        {int sum=1;
                 cout<<"when k<=3,there isonly "<<sum<<"cow!"<<endl;
        }
        else if(n==4||n==5)
        {
               int sum=n-2;
        cout<<"when k==4||k==5,there is  "<<sum
                                <<" cow!"<<endl;
        }
        else
        cout<<"when the year is"<<n<<",the number of cow is:"
                    <<a<<endl;
}



如果要看它每一步的計算結(jié)果,如下:
#include<iostream.h>;
long born( unsigned  int k)
{                                                                                                                                                        
                if(k<=5)
                        return 3;
                else
                {int sum;
                               sum=born(k-1)+(k-5);
cout<<"when the year is"<<n<<",the number of cow is:"
                    <<a<<endl;

                        return sum;
                        }
                }
void main()
{
        int n,a;
        cin>;>;n;
        a=born(n);
                   if(n<=3)
        {int sum=1;
                 cout<<"when k<=3,there isonly "<<sum<<"cow!"<<endl;
        }
        else if(n==4||n==5)
        {
               int sum=n-2;
        cout<<"when k==4||k==5,there is  "<<sum
                                <<" cow!"<<endl;
        }
        else
        cout<<"when the year is"<<n<<",the number of cow is:"
                    <<a<<endl;
}


我算得n=100只是4563頭,其實(shí)我也覺得不可能有上面這些人算得那么多,因?yàn)橹皇堑炔睿ü钪皇敲恳荒暝黾?)增加而已

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

母牛數(shù)量算法

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

應(yīng)該是這樣的:在第四年初生一頭,第四年初有兩頭,這樣下去,每頭牛在第四年初開始生第一頭,大于第四年就繼續(xù)生。
在第六年開始,第n年的頭數(shù)為sum=born(k-1)+(k-5),意思就是第n-1年有a頭,n有b頭,n+1?.........
   

不是,公式應(yīng)該是f(n)=f(n-1)+f(n-3),這次絕對是對的了

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

母牛數(shù)量算法

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

不是,公式應(yīng)該是f(n)=f(n-1)+f(n-3),這次絕對是對的了
   

n=45時得12322413,n=100時要很久不知道為什么。不等了

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

母牛數(shù)量算法

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

不是,公式應(yīng)該是f(n)=f(n-1)+f(n-3),這次絕對是對的了


你這也算遞歸!

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

母牛數(shù)量算法

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

不是,公式應(yīng)該是f(n)=f(n-1)+f(n-3),這次絕對是對的了


可你這也是遞歸啊!只要自己調(diào)自己就算了。

論壇徽章:
0
19 [報告]
發(fā)表于 2003-08-04 03:10 |只看該作者

母牛數(shù)量算法

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

n=45時得12322413,n=100時要很久不知道為什么。不等了


    #include<iostream.h>;
long born( unsigned  int k)
{                                                                                                                                                        
                if(k<4)
                        return 1;
                else
                {int sum;
                                sum=born(k-1)+born(k-3);
                                return sum;
                        }
                }
void main()
{
        int n;
        cin>;>;n;
  long a=born(n);
                   if(n<4)
                   {int sum=1;
                 cout<<"when n<4,there is only "<<sum<<" cow!"<<endl;
        }
       
        else
                cout<<"when the year is"<<n<<",the number of cow is:"
                    <<a<<endl;
}



n=70就要很久了,是什么 問題?

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

母牛數(shù)量算法

因?yàn)橛羞f歸,要壓棧,很費(fèi)資源的。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(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