300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java解决“鸡兔同笼”问题

Java解决“鸡兔同笼”问题

时间:2022-09-22 09:45:44

相关推荐

Java解决“鸡兔同笼”问题

题目:

鸡兔同笼,鸡兔一共35只,笼子里脚一共94只,请问分别有多少只兔子和多少只鸡?

思路:

鸡兔一共x只, 定义鸡的只数为chicken,那么兔子的只数rabbit则为x-chicken。一共y只脚,定义脚为foot,则chicken*2+rabbit*4 ==y

代码如下:

方法一:

public class Demo {public static void main(String[] args) {//鸡兔同笼,鸡兔一共35只,笼子里脚一共94只,请问分别有多少只兔子和多少只鸡?int foot = 94;//笼子里一共94只脚int sum = 35;//鸡兔一共35只for (int chicken = 1; chicken <= foot / 2; chicken++) {//鸡的数量int rabbit = sum - chicken;//兔子的数量if(rabbit * 4 + chicken * 2 == foot){System.out.println("兔子的只数为" + rabbit);System.out.println("鸡的只数为 " + chicken);} }}}

方法二:

import java.util.Scanner;public class Demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一共有多少只脚:");int foot = sc.nextInt();System.out.println("请输入鸡兔一共多少只:");int sum = sc.nextInt();//鸡和兔子全部抬起两只脚,地上全部都是兔子的脚//那么脚的数量 - 头的数量乘以2 就是剩余的脚的数量int nowfoot = foot - sum * 2;//都抬起两条腿后,剩余脚的数量int rabbit = nowfoot / 2;//兔子的只数就等于全部都抬起两只脚后,剩余脚的数量除以2int chicken = sum - rabbit;//鸡的只数System.out.println("有" + chicken +"只鸡");System.out.println("有" + rabbit + "只兔子");}}

方法三:

也是完整版,可以判断是否有逻辑错误

import java.util.Scanner;public class Demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一共有多少只脚:");int foot = sc.nextInt();System.out.println("请输入鸡兔一共多少只:");int sum = sc.nextInt();int chicken = 1;//定义鸡的初始只数为1int rabbit = sum - chicken;//定义兔子的数量while(true){//while(true)括号中始终为true“真”,所以就一直执行{}中的内容 if (rabbit * 4 + chicken *2 == foot) {System.out.println("有" + chicken +"只鸡");System.out.println("有" + rabbit + "只兔子");break;}else{chicken++;rabbit--;if (rabbit < 0) {System.out.println("输入的数字有误");break;}}}}}

正确情况:

错误情况:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。