1. 题目描述
百鸡百钱是我国古代数学家张丘建在《算经》一书中提出的数学问题:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
意思就是: 一百块钱, 买一百只鸡, 公鸡,母鸡,小鸡各买多少只?
2. 解题思路
- 定义变量
i,j,n
表示公鸡, 母鸡, 小鸡的只数 - 穷举公鸡,母鸡小鸡的数量
- 公鸡: 五元一只,最多买20只
- 母鸡: 三元一只,最多买33只
- 小鸡: 一元三只,最多买99只
- 判断数量是否等于100, 并且总金额也等于100, 如果两个条件同时成立则打印公鸡, 母鸡, 小鸡的数量
3. 代码:
#include<stdio.h> int main() { int i = 0; // 表示公鸡的个数 int j = 0; // 表示母鸡的个数 int n = 0; // 表示小鸡的个数 // 公鸡最多能买20只 for (i = 1; i <= 20; i++) { // 母鸡最多能买33只 for (j = 1; j <= 33; j++) { // 小鸡的数量是3的倍数,且小于等于99只 for (n = 3; n <= 99; n += 3) { // 满足总金额等于100,并且总鸡数等于100的条件 if ((i * 5 + j * 3 + n / 3 == 100) && (i + j + n == 100)) { printf("公鸡:%d只 母鸡:%d只 小鸡:%d\n", i, j, n); } } } } return 0; }
运行结果: