我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?利用C语言数组怎样计算
时间: 2024-05-29 21:10:28 浏览: 105
百钱买百鸡问题(C语言版)
翁、母、雏各应买多少只鸡?
#include <stdio.h>
int main() {
int x, y, z;
int count = 0;
int price = 100;
for (x = 0; x <= 20; x++) {
for (y = 0; y <= 33; y++) {
z = 100 - x - y;
if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == price) {
printf("翁买%d只,母买%d只,雏买%d只\n", x, y, z);
count++;
}
}
}
printf("共有%d种买法\n", count);
return 0;
}
输出结果:
翁买0只,母买25只,雏买75只
翁买4只,母买18只,雏买78只
翁买8只,母买11只,雏买81只
翁买12只,母买4只,雏买84只
共有4种买法
解释:
我们将翁、母、雏的数量分别用变量 x、y、z 表示,循环遍历所有可能的数量组合,计算总价是否为 100 元。如果符合条件,就输出结果并统计买法总数。注意到鸡雏数量必须是 3 的倍数,因此在内层循环中可以添加判断 z % 3 == 0。
阅读全文