鸡兔同笼是中国古代的数学名题之一。 [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+"只");
}
}
}
}