百錢百雞和從前有座山,山裡有座廟
阿新 • • 發佈:2018-12-30
通過百錢百雞和和尚饅頭問題掌握for…while
package arithmetic;
/**
* 相關演算法案例
* 1、百錢百雞問題
* 2、和尚和饅頭問題
*
* @author sunRainAmazing
*
*/
public class ArithmeticDemo {
public static void main(String[] args) {
// testHundredDollarsBuyChickens();
testMonkEatBread();
}
/**
* 測試百錢百雞問題
* 雞翁一值錢五,雞母一值錢三,雞雛三值錢一。
* 百錢買百雞,問雞翁、雞母、雞雛各幾何?
*/
public static void testHundredDollarsBuyChickens() {
//int cock; 公雞 最多20只
//int hen; 母雞 最多34只
//int chick; 雛雞 最多100只
for (int cock = 0; cock <21; cock++) {//公雞數
for (int hen = 0; hen < 34; hen++) {//母雞數
for (int chick = 0 ; chick < 101; chick++) {//雛雞數
//判斷條件
//第一個條件滿足金錢為100,第二個條件滿足買雞的總數為100
if(cock*5+hen*3+chick/3==100&&cock+hen+chick==100){
System.out.println("公雞為"+cock+
",母雞數:"+hen
+",雛雞數" +chick);
}
}
}
}
}
/**
* 從前有座山,山裡有座廟
* 廟裡有 100個饅頭和100個和尚,
* 大和尚每人分三個饅頭,小和尚3人分一個饅頭,
* 問:大小和尚各多少人?
*/
public static void testMonkEatBread(){
for (int i = 0; i < 34; i++) {//大和尚的人數
for (int j = 0; j < 101; j++) {//小和尚人數
//條件判斷
if(i*3+j/3==100&&i+j==100){
System.out.println("大和尚:"+i+",小和尚"+j);
}
}
}
}
}