题目描述
鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只?
输入
输入两个整数heads和feet,分别代表笼子里头的个数和脚的个数。(假设heads和feet都在合法的数据范围内)
输出
依次输出鸡和兔的只数。(数字为0的也要输出)
问题分析
我采用的方法是设两个变量法,既分别设鸡和兔为j和t;
当然还有另一种方法设一个变量例如设鸡为j,则兔=头数-j;(这里就不再阐述,有兴趣的小伙伴,可以自行研究,评论区分享一下。)
代码再下面,总体来说就是实现了上图的两个式子,再加了一个p进行跳出判断。
如果,不是很理解的小伙伴建议,像这样调试,用简单的数跑一遍,(亲测这是up最快熟悉代码的方式)
代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int heads = 0, foot = 0, j = 0, t = 0; //头,脚,鸡,兔
int p = 0; //用于判断是否满足条件,满足跳出
Scanner sc = new Scanner(System.in);
heads = sc.nextInt();
foot = sc.nextInt();
for (; j <=heads; j++) {
t = 0;//重置t
for (t = 0; t <=heads; t++) {
if (j + t == heads)
if (2 * j + 4 * t == foot) {
p = 1;
break;
}
}
if (p == 1)
break;
}
System.out.print(j + " " + t);
}
}
运行结果
网上参考
无
有些东西今天想不明白,睡一觉,半夜就明白了,然后半夜高兴的起来写完
结语
水平有限,如有错误,还望大神指正;(^_−)☆