1000個雞蛋放到10個箱子裡 無論要多少個總能不開啟箱子拿出來 應該如何去分 據說有13種答案 求解啊

時間 2021-06-03 06:42:42

1樓:謝逸之

這種題有乙個通用解,原理就是基於二進位制。有知友已經答過了,我就補充一下具體操作。

按照如下規則分組:1、2、4、8……256,即每一箱子內裝的數量都是2的整次冪。如果最後乙個箱子是512,那麼總數1023超出了1000,此時剩多少裝多少,即最後乙個箱子為489。

要從進製的原理說起。所謂十進位制,當我們打出12345這一串數的時候,其實代表的是:

同樣,二進位制下,我們說11010的時候,其實是:

好了,以上是基礎知識。讓我們從最簡單的情況開始,假設我們擁有一組完美的「基數」,十個箱子裡分別裝有1、2……512個雞蛋。那麼當我們要取任意乙個數量的雞蛋,比如說42,我們把它轉化為二進位制,是101010。

從低位數起,第

二、四、六位上的數字是1,則對應地取第

二、四、六個箱子,共有個雞蛋。

看這個表示式就明顯了,和二進位制是同一原理。

當雞蛋總數不是1023的時候,可能有多解,但最簡單的乙個辦法是削減最後乙個箱子裡的雞蛋數。如本題,1000個雞蛋的情況下,最後乙個箱子裝有489個。

對於不大於511的數,由於不涉及最後乙個箱子,所以情況和之前一樣。

大於511,比如說512,將其加上乙個虛擬的「23」,這時最後乙個箱子也由於加了這個「23」變為512。對處理後的數字——512+23=535——再應用以上的方法,535的二進位制為1000010111,即1+2+4+16+512=535。再將兩邊虛擬「23」拿掉,得1+2+4+16+489=512。

(《十萬個為什麼》是套好書……)

2樓:

我想到的笨方法是套十個For語句每個決定每個箱子內的雞蛋數量在迴圈的時候限制:

第i個迴圈的雞蛋數要大於它外面的箱子中的雞蛋數

就這以及這題目的意思是要用十個數保證對於1000內的任意乙個數都可以從這十個數裡面找幾個使它們和為這個數?(C_10^1 + C_10^2 +....+C_10^10 = 1024,好吧那好像就是這意思吧)如果是這個意思那就把上面的「大於」該成「大於等於」 並且可以只有九個迴圈第乙個箱子裡肯定只有乙個雞蛋然後在最裡面的迴圈裡加限制條件....

排列組合數那裡的函式要用到多維陣列和指標吧

K_1,...,k_10最好也用陣列吧

我程式設計基礎不牢=。= 就幫你到這兒了。。。要是以後補上了 & 我想起來這道題了,就來寫更好的答案哈。。。

go_to_next = 0; //若當前這組數不滿足條件,則go_to_next的值為1,轉向下一組

test_sum = 1; //這個引數標記了從1到1000我們需要測試的每乙個數,看是否這10個數之中存在某一組的和是test_num

match = 0; //標記當前的test_num是否滿足

add_num = 1; //在測試test_num是否可以被加出來的時候,依次去add_num個數來試

for(k_2=1;k_2<=1000;k_2++);k_i<=1000;k_i++)每一種可能的情況列出來,

看是否有可能當前這組數的和為test_num,

若滿足,則令match=1,並且跳出while(match=0)這個迴圈

if match == 1 continue;

else go_to_next = 1;

if go_to_next == 0 }}

....}}

不要把雞蛋放在同乙個籃子裡VS把雞蛋放在同乙個籃子裡然後看好這個籃子,哪種做法更優?

不要把雞蛋放在同乙個籃子裡 分散投資可以抵抗和平衡風險,但如果賺錢也只是各項小賺。如果想賺一筆大的,就要學會並接受 把雞蛋放在同乙個籃子裡,同時看好這個籃子。當然,這樣風險也大了很多。畢竟風險和收益永遠成正比。不存在標準答案般的 最優解 最符合你的需求的就是你的 最優解 什麼事兒都脫離不了具體問題具...

你們覺得這兩個替身如果放到jojo裡,實力會怎麼樣?

宇智波止鼬佐 應該先把替身的不足說出來 比如第乙個替身只能對乙個人使用,遇到災難的也只有那乙個人,或者主角團醒來時有夢的記憶且夢裡的細節在現實也會出現 一步一步提醒主角團夢裡夢見過 或者不能強制他人做夢,或者這個替身造成的影響不能直接殺死主角團。替身是只出現在夢裡,還是出現在現實世界。第二個替身撕裂...

大家能算出筐裡有多少個雞蛋嗎?

柴智 public class jidan 李思凡 Lzeaf 答案list是 10W以內 0 0.369 1.2889 2.5409 3.7929 4.10449 5.12969 6.15489 7.18009 8.20529 9.23049 10.25569 11.28089 12.30609 ...