程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA實例:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據分為五份,多了一個

JAVA實例:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據分為五份,多了一個

編輯:關於JAVA
publicclass Dg { staticintts=0;//桃子總數 intfs=1;//記錄分的次數 staticinths=5;//猴子數... inttsscope=5000;//桃子數的取值范圍.太大容易溢出. publicint fT(int t){ if(t==tsscope){ //當桃子數到了最大的取值范圍時取消遞歸 System.out.println("結束"); return 0; } else{ if((t-1)%hs==0 && fs <=hs){ if(fs==hs) { System.out.println("桃子數 = "+ts +" 時滿足分桃條件"); }    fs+=1;    return fT((t-1)/5*4);// 返回猴子拿走一份後的剩下的總數 } else { //沒滿足條件 fs=1;//分的次數重置為1 return fT(ts+=1);//桃子數加+1 } } } publicstaticvoid main(String[] args) { new Dg().fT(0); }   }

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

public class text10{
 public static void main(String[] args) {
 int sum2;    
 int sum1 = 7;
 int count;  
 int index;  
 boolean flag = true;
  while(flag)
   {
   index = 0;  
   count = 0;  
   sum2 = sum1;
   while(count < 6)
   {
    if(sum2%6 == 1)
    {
    sum2 -= 1;  
    sum2 -= sum2/6;
    index++;
    }
    if(index == 6)
    {
    System.out.println("最少有 " + sum1 + " 個桃子!");
    flag = false;
    break;
    }
   count++;
   }
   
  sum1 += 6; }
  }
 
}    //版權所有     

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved