⑴ 國王的小麥c語言編程
你已經給出了4種不同的編程。
//(1)
doublep,i,t;
p=1,t=1;
i=1;
while(i<64)
{p=p*2;
t=t+p;
i++;
}
//(2)
doublep,i,t;
i=1;
for(;i<64;)
{p=p*2;
t=t+p;
i++;
}
//(3)
doublep,i,t;
for(i=1,t=1;i<64;i++)
{p=p*2;
t=t+p;
}
//(4)
doublei,t;
while(i<64)
{t=t+pow(2,i);
i++;
}
⑵ 國王被數字欺騙的故事
麥子放到第( 28)個格子,麥子已經超過了1億粒;放完大約需要( 184467440737 )億粒。
⑶ 誰能原原本本的給我講講國王無法給他那些米粒這個故事
故事說有一位國王與數學家阿基米德下棋。國王說我們這樣干下棋好象不夠刺激,要麼賭點什麼吧。阿基米德說好啊。國王說,如果我下贏了,你就給我打一輩子長工。阿基米德說行啊。國王問阿基米德,那你要是贏了呢?阿基米德看了看國王家的糧倉,說:我要是贏了,你就在棋盤格子里放上米粒就行了。國王問:怎麼個放法呀?阿基米德說:圍棋盤一共就這么多格子,你要是輸了,就在第一個格子里放一粒米,在第二個格子里放兩粒米,在第三個格子里放四粒米,以此類推,以後每個格子放的米粒都是上一格的一倍,放完就行了。國王心想,我家有那麼大的糧倉,別說這么個小小棋盤了,就是再大的棋盤也能裝得下呀。於是他欣然答應,而且還吩咐手下准備筆墨,跟阿基米德簽了約。結果阿基米德贏了棋。國王呢,在兌現承諾的時候才發現,別說他那一個糧倉,就是再多幾個糧倉也填不滿那個小小的棋盤。
這個故事中阿基米德所應用的數學原理與美國的這位教授所應用的數學原理是一樣的,即倍增原理。這個數學模型的可怕之處在於,如果一個數字大於或等於2,那麼按幾何級數增加時,其倍增的速率是十分驚人的。如果把第一個格子的一粒米寫成2的0次方,第二個格子寫成2的1次方,第三個格子寫成2的2次方,那麼第N個格子就可以寫成2的N-1次方。國際象棋一共64個格子。到了第64個格子的時候,需要放的米粒數就是2的63次方,即9,223,372,036,854,780,000粒,這還只是這一個格子的容量,如果全部累計,則為18,446,744,073,709,600,000粒。如果1000粒米有一克重,那麼折算一下,第64格就需要放米9,223,372,036噸。這么大的數字,看來國王只能把國家交出來了事。
⑷ 求國際象棋中國王要打賞發明象棋的大臣的詳細故事
這是印度的一個古老傳說,舍罕王打算重賞象棋發明人、宰相西薩·班·達依爾。這位聰明的大臣的胃口看來並不大,他跪在國王面前說: 『陛下,請您在這張棋盤的第一個小格內,賞給我一粒麥子,在第二個小格內給兩粒,第三格內給四粒,用這樣下去,每一小格內都比前一小格加一倍。陛下,把這樣擺滿棋盤上所有64格的麥粒,都賞給您的僕人吧!』
『愛卿,你所求的並不多啊。」國王說道,心裡為自己對這樣一件奇妙的發明賞賜的許諾不致破費太多而暗喜。「你當然會如願以償的,」國王命令如數付給達依爾。
計數麥粒的工作開始了,第一格內放1粒,第二格內放2粒第三格內放2』粒,…還沒有到第二十格,一袋麥子已經空了。一袋又一袋的麥子被扛到國王面前來。但是,麥粒數一格接一格飛快增長著,國王很快就看出,即便拿全印度的糧食,也兌現不了他對達依爾的諾言。
原來,所需麥粒總數
1+2+2^2+2^3+2^4+……+2^63=2^64-1
=18446744073709551615。
這些麥子究竟有多少?打個比方,如果造一個倉庫來放這些麥子,倉庫高4公尺,寬10公尺,那麼倉庫的長度就等於地球到太陽的距離的兩倍。而要生產這么多的麥子,全世界要兩千年。盡管印度舍罕王非常富有,但要這樣多的麥子他是怎麼也拿不出來的。這么一來,舍罕王就欠了宰相好大一筆債。要麼是忍受達依爾沒完沒了的討債,要麼是乾脆砍掉他的腦袋。結果究竟如何,可惜史書上沒有記載。
⑸ 國王和象棋
第一格是2^0=1
第二格是2^1=2
第三格是2^2=4
……
麥子放到第(28 )格,這一格的麥粒已經超過1億粒;
第64格大約要放( 92233720368)億粒
所需麥粒總數
1+2+2^2+2^3+2^4+……+2^63=2^64-1
=18446744073709551615。
傳說西塔發明了國際象棋而使國王十分高興,他決定要重賞西塔,西塔說:「我不要你的重賞 ,陛下,只要你在我的棋盤上賞一些麥子就行了。在棋盤的第1個格子里放1粒,在第2個格子里放2粒,在第3個格子里放4粒,在第4個格子里放8粒,依此類推,以後每一個格子里放的麥粒數都是前一個格子里放的麥粒數的2倍,直到放滿第64個格子就行了」。區區小數,幾粒麥子,這有何難,「來人」,國王令人如數付給西塔。
計數麥粒的工作開始了,第一格內放1粒,第二格內放2粒第三格內放2』粒,…還沒有到第二十格,一袋麥子已經空了。一袋又一袋的麥子被扛到國王面前來。但是,麥粒數一格接一格飛快增長著,國王很快就看出,即便拿出全國的糧食,也兌現不了他對西塔的諾言。
原來,所需麥粒總數為: =18446744073709551615
這些麥子究竟有多少?打個比方,如果造一個倉庫來放這些麥子,倉庫高4公尺,寬10公尺,那麼倉庫的長度就等於地球到太陽的距離的兩倍。而要生產這么多的麥子,全世界要兩千年。盡管國家非常富有,但要這樣多的麥子他是怎麼也拿不出來的。這么一來,國王就欠了西塔好大一筆債。
⑹ 這是一個很著名的故事:阿基米德與國王下棋,國王輸了,國王問阿基米德要什麼獎賞阿基米德對國王說:「
第一個格子放一粒,第二個放兩個,第三個放四個,以此類推
⑺ 求pascal 國王與麥子 高精度的程序
我用C語言做了吧
#include<stdio.h>
void main
{
double sum=0,gs=1;
for(int i=0;i<=64;i++)
{
sum=sum+gs;
gs=gs*2;
}
printf("科學計數法顯示麥子總數:%g\n",sum);
}
⑻ 發明國際象棋的故事,「棋盤上的米粒」是怎樣的
根據歷史傳說記載,國際象棋起源於古印度,至今見諸於文獻最早的記錄是在薩珊王朝時期用波斯文寫的。英國人威廉·瓊斯1790年在《亞洲研究》上發表《印度象棋》一文,認為國際象棋起源於印度。大約公元2~4世紀時,印度次大陸有一種叫作「恰圖蘭加」的棋戲,內有車、馬、象、兵 4種棋子,象徵著印度古代的軍制。在當時流傳的印度敘事史詩《摩訶婆羅多》中,有「四軍將士已安排」的詩句。「四軍」就是指軍隊分為車、象、馬、兵 4個兵種。這種「四方棋」,當時是由擲骰子的方法來進行的。游戲的目的也不是將死對方的王,而是吃掉對方全部棋子。
棋盤上的米粒的故事是在古代印度有一個國王,他擁有至高無上的權力和難以計數的財富。但是權力和財富最終使他對生活感到厭倦,渴望著有新鮮的刺激。某天,一位老人帶著自己發明的國際象棋來朝見。國王對這新奇的玩意非常喜歡,非常迷戀,並感到非常滿足。對老人說:「你給了我無窮的樂趣。為了獎賞你,你可以從我這兒得到你所要的任何東西」。
老人的要求是:請您在棋盤上的第一個格子上放1粒麥子,第二個格子上放2粒,第三個格子上放4粒,第四個格子上放8粒……即每一個次序在後的格子中放的麥粒都必須是前一個格子麥粒數目的倍數,直到最後一個格子放滿為止。國王哈哈大笑,慷慨地答應了老人這個卑微的請求。然而,國王最終發現,按照與老人的約定,全印度的麥子竟然連棋盤一小半格子數目都不夠。
(8)國王與象棋麥子故事Python擴展閱讀:
其實老人索要的麥粒數目實際上是天文數字,按照老人的要求,放滿64個格,這個數是18,446,744,073,709,551,615,是二十位的數字。折算重量約為2000多億噸,即使現代,全球小麥的年產量也不過是數億噸。如果造一個倉庫來放這些米粒,倉庫高4公尺,寬10公尺,那麼倉庫的長度就等於地球到太陽的距離的兩倍。而要生產這么多的麥子,全世界要兩千年。盡管國家非常富有,但要這樣多的麥子他是怎麼也拿不出來的。
⑼ 麥穗與棋盤的故事
從前有個國王想要賞賜宰相,宰相說想要得到一些麥穗,他拿出一個棋盤,要求在第一個格子里放一顆,第二個格子放兩顆,以此類推,每個格子比前一個多一倍,最終國王發現沒有辦法滿足這個要求,因為如果棋盤有六十四格,那麼最後需要二的六十四次方(貌似)顆麥穗,自己算那數量吧