Java 5個猴子分桃的問題__Java

來源:互聯網
上載者:User

最近看到有這麼一個題,    有一堆桃子 總數未知,有5個猴子。早晨有一個猴子來到桃子前平均分成5份但多出一個,就把多的一個吃瞭然後拿走了其中一份還剩四份。第二個猴子來了也將剩下的桃子分成5份同樣多了一個把多的一個吃瞭然後拿走了其中一份還剩四份。第三個。。。。。。每個猴子都做同樣的。問這堆桃子最少是多少個。


自己動手寫了下   僅供參考  ,如有問題和改進望留下改進方法



public static void main(String[] args) {
star();
}


public static int star(){
int a = 1; //假設最後一次分下來為一個
int i =6; //最後一次分桃時總數為6個
int b = 5; //記錄次數  反向這是第5個猴子

while(true){
if(5*i%4==0){ //由這次的總數判斷上一次分桃數是否為正整數
i=5*i/4+1; //得到上一次分桃總數
b--; //次數為上一次
System.out.println("========="+b);
System.out.println(i);
}else{ //判斷上一次分桃數是否為正整數  不為正整數從新來    a值加1設最後一次分下來平局數加1
a++; //a值加1設最後一次分下來平局數加1
i=5*a+1;//那麼最後一次分桃總數要從新計算
b=5; //次數從新從5開始
}
if(b==1){ //當次數為1時就代表5個都能分  則可以判斷開始總數
break;
}
}
return i; //返回結果 最少為i
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.