鸡兔同笼 java代码

大家好:

          今天看到这个问题的时候着实费了翻功夫,在数学中这个应用题是很好解决的!用代码解决还真有点绕,借鉴了一下前人的方法,我自己加以改进!供大家参详下!

<span style="font-size:18px;">import java.util.Scanner;

public class Test {  
	public static void main(String[] args) {  
		new Test();
	}
	public Test(){
		int head = 0;
		int foot = 0 ;
		String biaoshi;
		String [] parameters;
		Scanner input = new Scanner(System.in);
		System.out.println("请输入头的数量和脚的数量,中间用逗号分开(英文)!0:程序退出");
		try {
			
			while (true) {
				biaoshi = input.next();
				parameters = biaoshi.split(",");
				head =Integer.parseInt(parameters[0]);
				foot =Integer.parseInt(parameters[1]);
				if(foot<2 || (foot%2)!=0){
					System.out.println("请输入正确的脚得数量!");
					continue;
				}else{
					break;
				}
			}
		} catch (Exception e) {
			 System.out.println("程序已经退出");
			 System.exit(0);
		}
		
		    int ji,tuMax;
		    tuMax = foot / 4; // 兔子的最大值
		    for (int tu = 0; tu <= tuMax; tu++) {
	            ji = (foot - 4 * tu) / 2; // 从兔子个数为0开始测试,穷举所有情况
	            if (ji + tu == head) { // 如果鸡兔数量=头数,则输出
	                System.out.println("鸡有" + ji + "只\t兔子有" + tu + "只");
	            }
	        }
		    new Test(); //递归
	}
}	
</span>
这样就可以准确的输出鸡跟兔子的数量了,关键还是这个for循环啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值