题目

鸡兔同笼, 共有35头, 94脚. 求有几只鸡几只兔

分析

1.列方程组x + y = 352x + 4y = 94
2.求解x = 23y = 12**拓展**
二元一次方程表达式ax + by = cmx + ny = d

代码

public class Homework0429 {public static void main(String[] args) {int c = 0;  //表示鸡的数量int r = 0;  //表示兔的数量for(c = 0; c <= 35; c++ ){       //从鸡的数量,开始遍历for( r = 35 - c; r >= 0; r--){      //从兔的数量开始遍历if( (2 * c + 4 * (35 - c)) == 94 ){       //判定条件System.out.println("鸡有:" + c + "\t兔有:" + r);break;   //满足时退出本次循环(结果的唯一性,当鸡的数量为a时,则兔的数量至多有一个解)}}}}}

运行结果

鸡有:23 兔有:12

总结

1.本题本质为解数学题,特定题目下,可以优化方程,进而使代码更简洁,缩短运算时间;

2.本题代码不够简洁,循环次数过多(鸡和兔都是遍历了 0~35)

二元一次方程组的通用解

代码

import java.util.Scanner;public class Test01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);   //提示用户输入参数(此程序不做输入判断)System.out.println("请参照 a * x + b * y = c 的格式输入方程参数!");//根据提示输入方程1的参数System.out.print("方程1,a1 = ");double a1 = sc.nextDouble();System.out.print("方程1,b1 = ");double b1 = sc.nextDouble();System.out.print("方程1,c1 = ");double c1 = sc.nextDouble();double[] d1 = {a1, b1, c1};     //将方程1的参数放进数组中System.out.println( "方程1:" + a1 + " * x + " + b1 + " * y " + " = " + c1 + "\n");//根据提示输入方程2的参数System.out.print("方程2,a2 = ");double a2 = sc.nextDouble();System.out.print("方程2,b2 = ");double b2 = sc.nextDouble();System.out.print("方程2,c2 = ");double c2 = sc.nextDouble();double[] d2 = {a2, b2, c2};     //将方程2的参数放进数组中System.out.println( "方程2:" + a2 + " * x + " + b2 + " * y " + " = " + c2 + "\n");method(d1, d2);     //调用方法}/*** 用以解二元一次方程组* @param d1 方程1的参数* @param d2 方程2的参数*/public static void method(double[] d1, double[] d2) {//d1[0] * x + d1[1] * y = d1[2];//d2[0] * x + d2[1] * y = d2[2];double x = 0;   //方程组未知数double y = 0;   //方程组未知数double a = d1[0] / d2[0];   //系数比double b = d1[1] / d2[1];   //系数比double c = d1[2] / d2[2];   //系数比if (d1[0] * d1[1] * d2[0] * d2[1] != 0) {   //判断,是否为二元一次方程,是 则执行下述语句if (a != b) {   //判断,有唯一解x = (d2[1] * d1[2] - d1[1] * d2[2]) / (d2[1] * d1[0] - d1[1] * d2[0]);y = (d2[0] * d1[2] - d1[0] * d2[2]) / (d2[0] * d1[1] - d1[0] * d2[1]);System.out.println("该方程组有唯一解,为:x = " + x + " , y = " + y);} else if (a == b && a == c) {System.out.println("该方程组有无穷多解!");} else {System.out.println("该方程组无解!");}} else {   //判断,是否为二元一次方程,否 则执行下述语句System.out.println("这不是二元一次方程组!");      //此处可引用解一元一次方程的方法}}
}

运行结果

请参照 a * x + b * y = c 的格式输入方程参数!
方程1,a1 = 1
方程1,b1 = 1
方程1,c1 = 35
方程1:1.0 * x + 1.0 * y  = 35.0方程2,a2 = 2
方程2,b2 = 4
方程2,c2 = 94
方程2:2.0 * x + 4.0 * y  = 94.0该方程组有唯一解,为:x = 23.0 , y = 12.0


1.该代码略冗长,可对方法进行封装使代码简洁,如参数输入方法

2.该代码采用的是二元一次方程的求根公式进行求解

每日作业20200429 - 二元一次方程 解鸡兔同笼相关推荐

  1. python二元一次方程组用鸡兔同笼的思路来写编程_python二元一次方程组用鸡兔同笼的思路来写编程_《应用二元一次方程组——鸡兔同笼》......

    - 1 - <应用二元一次方程组 -- 鸡兔同笼> 教学目标 1 ,知识与技能:会用二元一次方程组 在具体问题的解决过程中提高学生的解二 元一次方程组的技能: 2 .过程与方法:使学生掌握 ...

  2. 【小学数学】假设法解鸡兔同笼

    假设法解鸡兔同笼 这是一个假设法解鸡兔同笼的程序. (注意:课本的标准解法是列表法!) 假设法解鸡兔同笼是4.5.6年级小学数学的经典附加题. 拿去给小学生学格式.学步骤完全没问题. 你永远可以相信薛 ...

  3. c++解鸡兔同笼(3)

    大家好,今天小编继续带大家用c++解鸡兔同笼. 第一期我们知道: 解鸡兔同笼的方法有三种: 1.一个一个的试: 2.假设法:假设全是兔,--: 3.方程法: 今天小编就带大家用第三种方法解鸡兔同笼. ...

  4. c++解鸡兔同笼(2)

    大家好,今天小编继续带大家用c++解鸡兔同笼. 上期,我们知道: 解鸡兔同笼的方法有三种: 1.一个一个的试: 2.假设法:假设全是兔,--: 3.方程法: 今天小编就带大家用第二种方法解鸡兔同笼. ...

  5. C语言: 编写一个程序解鸡兔同笼问题:已知鸡兔总数为a, 鸡兔腿总数为b, 计算出鸡兔各多少只

    题目: 编写一个程序解鸡兔同笼问题:已知鸡兔总数为a, 鸡兔腿总数为b, 计算出鸡兔各多少只 题目分析:直接使用顺序结构就行         1.设鸡有x只,兔子有y只,因此x+y=a:即,  x=a ...

  6. php设计鸡兔同笼问题解法,数量关系解题技巧:三种方法巧解鸡兔同笼问题

    [导读] 中公事业单位为帮助各位考生顺利通过事业单位招聘考试!今天为大家带来数量关系解题技巧:三种方法巧解鸡兔同笼问题. 鸡兔同笼问题是事业单位考试中比较常见的一种题型,题干特征非常明显,解题方法多样 ...

  7. python求鸡兔同笼 鸡兔总数鸡兔腿_编写一个程序解鸡兔同笼问题:已知鸡兔总数为a,鸡兔腿总数为b,计算鸡兔各有多少只?...

    [单选题]42. Wie alt ist deine Schwester? Ist sie noch klein? - Ja, sie ist acht.(1998) [单选题]46. Er beha ...

  8. java马克思手稿_java 循环嵌套解决一元,二元,三元方程(增长率,鸡兔同笼,马克思手稿)...

    一元方程: 2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人? int a=8; int year=2006; while (a<=20) { a= ...

  9. 利用计算机解决古代数学问题鸡兔同笼,古代人是怎样解决“鸡兔同笼”得问提的?...

    鸡兔同笼是我国古代著名趣题之一.大约在1500年前,<孙子算经>中就记载了这个有趣的问题.书中是这样叙述的:"今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?" ...

最新文章

  1. java继承的知识点_Java知识点梳理——继承
  2. MongoDB 学习笔记四 C#调用MongoDB
  3. 笨方法“学习python笔记之列表
  4. POJ 1113 Wall 求凸包
  5. 力扣78. 子集(JavaScript)
  6. javascript基础知识系列:DOM学习
  7. Linux 命令(37)—— free 命令
  8. linux cp{,bak},Linux中cp覆盖不提示
  9. Spring→简介核心作用范围、框架、接口编程、IOC控制反转、单元测试、Bean容器、注入、作用域、生命周期、自动装配注入、自动扫描@注解
  10. 《天下3》幻化:剧情任务
  11. 3.3.9nbsp;艾利·高德拉特——TOC制…
  12. pr 快捷键自我需要总结
  13. excel单元格内容拆分_excel软件应用:如何妙用Word拆分单元格数据
  14. c语言中变量加1,c语言中,指针加1的情况.指针变量详细介绍
  15. 分区助手4.0绿色中文版
  16. 工作心得之接口数据同步
  17. Easyexcel导入导出多个sheet
  18. 教你如何完全解析Kotlin中的类型系统
  19. 2022年化工自动化控制仪表找解析及化工自动化控制仪表考试技巧
  20. Rip与不连续子网拓扑(小白基础实验)

热门文章

  1. C语言例题——简易计算器
  2. ubuntu合并终端_如何在Ubuntu中安装多个终端以及更改默认终端
  3. 3288 android5.1 编译,【DLT-RK3288试用】8. RK3288 编译 Android 5.1 源码
  4. H264马赛克、延时的优化
  5. Wifite.py 修正版脚本代码
  6. 锤子便签V2.5产品体验报告
  7. 对于Jenkins和gitlab连接的注意事项
  8. Linux简介云服务器环境搭建
  9. 安徽省2019c语言二级答案,安徽省计算机等级二级考试真题C语言.doc
  10. Ubuntu18设置4K屏幕缩放125%