问题:我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
这个题的意思也就是,一只公鸡五钱,一只母鸡三钱,三只小鸡一钱,一百钱正好能买一百只鸡,求各种鸡的数量
核心思路:1.如果全买公鸡,最多可以买20只。如果全买母鸡,最多可以买33只。如果全部买小鸡,最多可以买99只,但必须要注意的是,小鸡买的时候,至少应该要买三只
2.利用for循环的嵌套来穷举
3.最后让if语句进行条件的判断
运行结果如下图所示
代码如下
#include<stdio.h>
#include<stdlib.h>
int main()
{
int cock, hen, chick;
for (cock = 0; cock <= 20; cock++)
for (hen = 0; hen <= 33; hen++)
for (chick = 3; chick <= 99; chick++) //小鸡从3开始
if (5 * cock + 3 * hen + chick / 3 == 100) // 鸡的价格为100钱
if (cock + hen + chick == 100) //鸡的数量为100只
if (chick % 3 == 0) //小鸡必须能够被3整除
printf ("公鸡:%d,母鸡:%d,雏鸡:%d\n", cock, hen, chick);
}