1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 百钱买百鸡 ​ 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五

百钱买百鸡 ​ 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五

时间:2020-11-17 05:47:56

相关推荐

百钱买百鸡 ​ 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五

第一种方式(虽然好理解,但最笨最不提倡):

package com.itheima.dome;public class Demo01 {public static void main(String[] args) {//用于计算运算了多少次int count = 0;//公鸡的数量for (int i = 0; i <= 100; i++) {//母鸡的数量for (int j = 0; j <=100 ; j++) {//小鸡的数量for (int k = 3; k <=100 ; k++) {count++;if (i*5+j*3+k/3==100 && i+j+k==100&&k%3==0)System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只%n",i,j,k);}}}System.out.println("共进行了"+count+("次循环"));}}

运行结果:

第二种方式:

package com.itheima.demo;public class Demo02 {public static void main(String[] args) {//用于计算运算了多少次int count = 0;//公鸡的数量(公鸡最多买20只)for (int i = 0; i <= 20; i++) {//母鸡的数量(母鸡最多买33只)for (int j = 0; j <=33 ; j++) {//小鸡的数量(100-公鸡数量-母鸡数量)for (int k = 3; k <=100-i-j ; k+=3) {count++;if (i*5+j*3+k/3==100 && i+j+k==100)System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只%n",i,j,k);}}}System.out.println("共进行了"+count+("次循环"));}}

运算结果:

第三种方式:

package com.itheima.dome;public class Demo03 {public static void main(String[] args) {//用于计算运算了多少次int count = 0;//第1层循环,用于表示公鸡的范围,初始化表达式的变量定义为 x=0,判断条件是x<=20for(int x=0; x<=20; x++) {//第2层循环,用于表示鸡母的范围,初始化表达式的变量定义为 y=0,判断条件是y<=33for(int y=0; y<=33; y++) {//这个时候,用于表示鸡雏的变量 z = 100 – x – yint z = 100 - x - y;//判断表达式 z%3==0 和表达式 5*x + 3*y + z/3 = 100 是否同时成立if(z%3==0 && 5*x+3*y+z/3==100) {System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只%n",x,y,z);}count++;}}System.out.println("共进行了"+count+("次循环"));}}

运算结果:

第四种方式(最推荐的):

package com.itheima.dome;public class Demo04 {public static void main(String[] args) {//用于计算运算了多少次int count = 0;//第1层循环,用于表示公鸡的范围,初始化表达式的变量定义为 x=0,判断条件是x<=20for(int x=0; x<=20; x++) {//第2层循环,用于表示鸡母的范围,初始化表达式的变量定义为 y=0,// 判断条件是y<=(100-x*5)/3 (买公鸡剩下的钱除以母鸡的单价)int Max_y = (100- x*5)/3; //(因为避免每次内循环再次计算)for(int y=0; y <= Max_y; y++) {//这个时候,用于表示鸡雏的变量 z = 100 – x – yint z = 100 - x - y;//判断表达式 z%3==0 和表达式 5*x + 3*y + z/3 = 100 是否同时成立if(z%3==0 && 5*x+3*y+z/3==100) {System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只%n",x,y,z);}count++;}}System.out.println("共进行了"+count+("次循环"));}}

运算结果:

通过最内层循环的次数来看,这四种方法是,从第一种到第四种,效率上是越来越高的

百钱买百鸡 ​ 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一。​ 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何?

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