穷举法--鸡兔同笼问题

鸡兔同笼是中国古代的数学名题之一。 [1]大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

这四句话的意思是:

有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

package com.example.demo.test;
//鸡兔同笼问题(穷举法):已知:鸡兔共35只,共94只脚,那么鸡和兔各几只?
public class Rwc {
    public static void main(String[] args) {
        /*
        解题思路:鸡有2条腿,兔子有4条腿
        穷举法:
        鸡    兔
        0     35
        1     34
        .     .
        .     .
        35    0
         */
//方法一
        int x = 0;//鸡从0开始递增
        //一直递增到35
        while (x<=35){
            int y = 35-x;//兔子的数量
            if (x*2+y*4!=94){//判断是否满足条件
                x++;
            }else {
                System.out.println("鸡有"+x+"只,兔子有"+y+"只");
                x++;
            }
        }
//方法二
        //循环变量j,控制小鸡的个数: 0到35递增
        //循环变量t,控制兔子的个数: 35到0递减
        for(int j=0,t=35; j<=35; j++,t--) {//如果有多个小条件,用逗号隔开
            //保证脚的数量是94
            if(j*2 + t*4 == 94) {
                System.out.println("鸡有"+j+"只,兔子有"+t+"只");
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值