請給個演算法
1樓:網友
我看過一道相同的題 題目答案如下:
5只猴子一起摘了一堆桃子,因為太累了,它們商量決定,先睡一覺再分。
過了不知多久,來了乙隻猴子,它見別的猴子沒來,便將這一堆桃子來均分成5份,結果多了乙個,就將多的這個吃了,拿走其中一堆。又過了不知多久,第2只猴子來了,它不知道有1個同伴已經來過,還以為自己是第乙個到的呢,於是將地上的桃子堆起來,平均分成5份,發現也多了1個,同樣吃了這1個,拿走其中1堆。第3只,第4只,第5只猴子都是這樣……問這5只猴子至少摘了多少個桃子?
第5個猴子走後還剩多少個桃子?
方法一:設:原有桃子x個,最後剩下y個。那麼,每乙隻猴子連吃帶拿,得到了多少桃子呢?
第乙隻猴子吃了1個,又拿走了(x-1)個的 ,一共得到 (x-1)+1個。它走了,這裡留下的桃子,還有x-[ x-1)+1]個,也就是 [ x-1)-1],也就是又從原數中減1,乘 。
現在,我們找到解題的思路了:每來乙隻猴子,桃子的數目就來個變化--減1,乘 。
當第五隻猴子來過後,我們已對x進行5次這樣的減1,乘 了。
這樣5次之後,便得到y。所以,--
y= .一步一步整理,應當得到。
y= (x+4)-4
也就是y+4= (x+4)=( )5×(x+4)。
從這個式時,我們不能斷定x和y是多少。不過,因為x和y都是正整數,而45和55的公約數是1,所以,(x+4)一定可以被55整除。
這樣,我們就可以算出x至少是55-4=3121,而y至少是55-4=1040。
方法二:現在,讓5只猴子再分一次。
桃子雖然多了4個,可是第乙隻猴子並沒有從中撈到便宜。因為這時桃子正好可以均分成5堆,它拿到的1堆,恰好等於剛才你沒有借給它們4個桃子時,它連吃帶拿的數目。
這樣,當第二隻猴子來時,桃子的數目,還是比你沒借給它們時多了4個,又正好均分成5堆。所以,第二隻猴子得到的桃子,也不多不少,和原來連吃帶拿一樣多。
第。三、第。
四、第五隻猴子到來時,情況也是這樣。
5只猴子,第乙個都恰好拿走當時桃子總數的 ,剩下 ;而開始的時候,桃子的數目是x+4(加上你借給它們的4個)。這樣到了最後,便剩下 (x+4)個桃子,這比剩下的y個多元化個。所以得到:
y+4=( )5×(x+4)
和剛才的結論一樣。
2樓:網友
這個演算法···搞清楚了 也很蛋癢啊· 不想蛋癢。
3樓:網友
呵呵……是挺有趣的!
既然來了我給點建議吧!
這個演算法肯定會用到迴圈,而迴圈的條件就應該是i<=5(起床次數);這個應該沒有錯!剩下就是迴圈體了,它要求的是最少, 就按最少算就可以了!剩下的自己想吧!呵呵……
4樓:鷹弈
這道題其實已經把演算法告訴你了。
意思就是,每次分椰子的時候,椰子數總能被5整除且餘1只要用迴圈語句把它描述出來即可。
源**如下:
方法一:#include
void main(void)
elseif (j == 6) //說明5次分椰子的過程均能被5整除餘1,儲存i值,退出外迴圈。
sum = 5 * i +1;
printf("sum = %d", sum);
return;
方法二:#include
void main(void)
elseif (j == 6) //說明前4次分椰子的過程均能被5整除餘1,退出外迴圈。
printf("sum = %d", sum);
return;
如果對你有所幫助,請記得采納,謝謝!
5樓:猶悅沅
借4個椰子給海盜,你會發現,椰子總數能被 5*5*5*5*5 整除。
所以最少有 5*5*5*5*5-4 = 3121
求乙個演算法
6樓:北方計算機學校
你的思路是非常正確地。
具體分析如下:
64 個隨機數中的 「1」 是最「寶貴」的。
只要有足夠的 「1」 就能組合出任何「目標數」。
但是,如果玩家在一開始就儘量使用 「1」 來組合出「目標數」,那麼就會很快將 「1」 耗盡。
然後玩家再儘量使用 「2」 來組合出「目標數」,又會很快將 「2」 耗盡。
隨著比較小的數字越來越少,能組合出來的「目標數」也越來越少。
所以,為了保證遊戲始終有解,就只有從可能組合出來的「和」中,選出「目標數」。
具體演算法:一。 生成「隨機數」
生成 64 個「隨機數」
二。 統計數量。
分別統計所有的「隨機數」中 的數量。
三。 出題。
在之前統計的數量範圍內,隨機選出若干個 「1」 、若干個 「2」 、若干個 「9」 ,並把這些數的和作為「目標數」。
四。 玩家答題後更新。
由於使用過的「隨機數」不能再用,所以每次玩家答題後,需要統計其「答案」中 的數量。
並從之前統計的數量中減去這些數量。
由於不知道你用的是什麼語言,所以沒有寫出具體**。
如有需要,請繼續追問,並說明具體程式語言,和具體要求。
求乙個演算法
7樓:網友
y的第一項為1,之後x每增加1,y增加3
所以y=1+3(x-1)
即y=3x-2
請給出乙個演算法
8樓:網友
演算法思想其實挺簡單的:不放設a>b>a-b,這兩隻被子能量出c公升水等價於用a、b、(a-b)三個數通過各種加法運算得到c。
前面已經假設了a>b>a-b
求c/a,如果可以整除,得到解,退出,如果不能整除,x = c/a,d=c-ax;
同理求d/b,如果可以整除,得到解,退出,否則y=d/b,然後e=d-by;
如果e可以被(a-b)整除,得到解,退出,否則x-1,繼續步驟2,3;迴圈到x=0,如果還是沒有得到解,則無解。
如何寫乙個簡單的手寫識別演算法?
其實這個問題很簡單呀,網上的答案也很多很詳細,選擇你覺得看得懂的最簡單的看就好。。手指被壓,軌跡點被記錄。每當乙個新的點記錄,它被記錄在手勢描述陣列的姿勢直到手指離開螢幕。。得到手勢陣列中各點的x y座標的最大值和最小值,求出中 下兩側的上下邊緣,得到手勢路徑點的覆蓋面積。三。手勢座標歸一化 使用手...
簡單的問題,麻煩大家幫幫我,一個簡單的問題,麻煩大家幫幫我
燒烤的小魚 1.沒問題,喜歡!這個我給你打包票。女人喜歡上一個人都是這個樣子的。我的經驗。2.要是我,約她出來吃飯,表白。拉手,記得表白要含蓄的,千萬不要直接的,這類女孩子不能直接表白。切記!3.如2.記住,追女孩子就要膽大心細臉皮厚。要不都是扯淡。這個時候你要是還害羞,你就等著她落入別人的懷抱吧。...
VB中,簡單的問題 高手幫幫,VB中,一個簡單的問題 高手幫幫
你要的其實就是模擬按鍵 使用keybd event api就能完成。函式vb申明 public declare sub keybd event lib user32 byval bvk as byte,byval bscan as byte,byval dwflags as long,byval d...