1. 程式人生 > >第九屆藍橋杯省賽JAVA語言 C組題解_解2 猴子數香蕉

第九屆藍橋杯省賽JAVA語言 C組題解_解2 猴子數香蕉

JAVA語言 C組題解_2 猴子數香蕉

題目

5只猴子是好朋友,在海邊的椰子樹上睡著了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。
第1只猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉並把自己的一份藏起來繼續睡覺。
第2只猴子醒來,重新把香蕉均分成5堆,還剩下2個,就吃掉並把自己的一份藏起來繼續睡覺。
第3只猴子醒來,重新把香蕉均分成5堆,還剩下3個,就吃掉並把自己的一份藏起來繼續睡覺。
第4只猴子醒來,重新把香蕉均分成5堆,還剩下4個,就吃掉並把自己的一份藏起來繼續睡覺。
第5只猴子醒來,重新把香蕉均分成5堆,哈哈,正好不剩!
請計算一開始最少有多少個香蕉。

解題思路

暴力破解
特別注意:
需將整數型別轉換為浮點型別計算!!!
結果為:3141

//java程式碼
	public static int num() {
		for (int i = 1; i < Integer.MAX_VALUE; i++) {
			double d = i;//型別轉換。避免整數型別i在計算中將餘數捨去
//			d = (d - 1) * 4 / 5;//每次吃掉一份,所以剩下4/5份
//			d = (d - 2) * 4 / 5;
//			d = (d - 3) * 4 / 5;
//			d = (d - 4) * 4 / 5;
			for(int j=1;j<=
4;j++){//演算法優化 d=(d-j)*4/5; } if (d % 5 == 0&&d!=0) { return i; } } return 0; }