前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百钱买百鸡

百钱买百鸡

作者头像
算法与编程之美
发布2023-01-03 19:20:48
4650
发布2023-01-03 19:20:48
举报

1 问题

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

2 方法

假设鸡翁x只,鸡母y只,鸡雏z只。单看一种鸡得出x,y,z的取值范围

0<=x<=20

0<=y<=33

0<=z<=100

根据题目要求可得出以下式子是成立的

x+y+z=100

5*x+3*y+z/3=100

这里采用循环嵌套的方式穷举出x,y,z的值

在第一层循环,表示鸡翁的范围,定义初始表达式的变量为0,判断的条件取x<=20;

在第一层循环,表示鸡母的范围,定义初始表达式的变量为0,判断的条件取y<=33;

在第一层循环,表示鸡雏的变量为z=100-x-y

判断表达式z%3==0和表达式5*x+3*y+z/3==100是否同时成立,如果成立则输出x,y,z的值,即对应鸡翁,鸡母,鸡雏的值。

public class draft {

public static void main(String[] args) {

//表示鸡翁的范围

for (int x=0;x<=20;x++){

//表示鸡母的范围

for (int y=0;y<=33;y++){

//表示鸡雏的变量

int z = 100 - x - y;

if (z%3==0 && 5*x+3*y+z/3==100){

System.out.println("鸡翁:"+x+";鸡母:"+y+";鸡雏:"+z);

}

}

}

}

}

3 结语

在百钱买百鸡的问题中,通过使用循环嵌套的方式穷举出各种鸡的数量。该方法的时间复杂度较高。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档