海灘上有一堆桃子,五只猴子來分。 第一只猴子把這堆桃子平均分為五份,多了一個, 這只猴子把多的一個扔入海中,拿走了一份。 * 第二只猴子把剩下的桃子又平均分成五份,又多了一個, 它同樣把多的一個扔入海中,拿走了一份, 第三、第四、第五只猴子都是這樣做的, * 問海灘上原來最少有多少個桃子?


題目:海灘上有一堆桃子,五只猴子來分。 第一只猴子把這堆桃子平均分為五份,多了一個, 這只猴子把多的一個扔入海中,拿走了一份。
* 第二只猴子把剩下的桃子又平均分成五份,又多了一個, 它同樣把多的一個扔入海中,拿走了一份, 第三、第四、第五只猴子都是這樣做的,
* 問海灘上原來最少有多少個桃子?

 

思路1: 逆序 原來 第1只 第2只 第3只 第4只 第5只 n n-n/5-1 m-m/5-1 x-x/5-1 使用遞歸來解決問題

 

public class 第四十一題猴子分桃子 { public static void main(String[] args) { /* * 思路: 逆序 原來 第1只 第2只 第3只 第4只 第5只 n n-n/5-1 m-m/5-1 x-x/5-1 使用遞歸來解決問題 */
        int sum = 0; for (int i = 60; i < 6100; i++) { int n = i; for (int m = 1; m < 6; m++) { sum += getValue(n, m); } if (sum == n) { System.out.println(i); } } } // 獲取第m只猴子拿走的桃數量
    public static double getValue(int d, int m) {// n為總數,m為第1,2,3,4,5只猴
        int result = 0; // 保存結果
         result =  d / 5 + 1; // 第一只
        if (m == 1) { return result; } else { return getValue((d - result), m - 1); } } }

 

思路2: 

設第5只猴子得到a個桃子.分隊前有5a+1 第四只得到 (5a+1)/4 分堆前有 (5a+1)/4 + 1 .我想知道為什么 第四子猴子得到
* (5a+1)/4 為什么不是 (5a+1)/5 為什么第四子得到的不是 5a+1
*
* 設第四只猴子拿【暫不說 得】到y個蘋果,那么還剩下(除了扔掉的一個)4y個!而 4y=5a+1 所以 y=(5a+1)/4 .即第4只猴子得到
* (5a+1)/4 個蘋果.

 

public class 第四十一題猴子分桃子_version2 { public static void main(String[] args) { // 統計次數
        int count, m, j = 0; for (int i = 4; i < 10000; i += 4) { count = 0; m = i; for (int k = 0; k < 5; k++) { j = i / 4 * 5 + 1; i = j; if (j % 4 == 0) { count++; } else 
                    break; } i = m; if (count == 4) { System.out.println("原有桃子" + j + "個"); } } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 猴子吃桃問題。猴子第1天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第2天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,就只剩一個桃子了。求第1天共摘多少個桃子 猴子吃桃問題。猴子第1天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第2天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,就只剩一個桃子了。求第1天共摘多少個桃子? 猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天早上又將第一天剩下的桃子吃掉一半,有多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第 10 天早上想再吃時,發現只剩下一個桃子了。編寫程序求猴子第一天摘了多少個桃子。 一群猴子排成一圈,按1,2,...,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去...,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號 《上帝給我一個任務,叫我牽一只蝸牛去散步》 一只蝙蝠的自述 第五題:n 只奶牛坐在一排,每個奶牛擁有 ai 個蘋果,現在你要在它們之間轉移蘋果,使得最后所有奶牛擁有的蘋果數都相同,每一次,你只能從一只奶牛身上拿走恰好兩個蘋果到另一個奶牛上,問最少需要移動多少次可以平分蘋果,如果方案不存在輸出 -1 平均分配算法 Linux 命令之split(將一個大文件根據行數平均分成若干個小文件) 關於maven的一份小筆記
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM