1. 程式人生 > >百錢百雞和從前有座山,山裡有座廟

百錢百雞和從前有座山,山裡有座廟

通過百錢百雞和和尚饅頭問題掌握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); } } } } }