PTA 7-191 百钱百鸡
1、中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
要求:
给出所有的解,每组解占一行
解的顺序:按“字典序”排列,即公鸡数少的在前;公鸡数相同,母鸡数少的在前。
输入格式:
无
输出格式:
cock=%d,hen=%d,chicken=%d\n
输入样例:
在这里给出一组输入。例如:
无
输出样例:
在这里给出相应的输出。例如:
cock=0,hen=25,chicken=75
cock=4,hen=18,chicken=78
cock=8,hen=11,chicken=81
cock=12,hen=4,chicken=84
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
#define MONEY 100 //宏定义
int main() {
int chick, cock, hen; //定义小鸡,公鸡,母鸡数量
for (cock = 0; cock <= MONEY / 5; cock ++){ //控制公鸡数量
for (hen = 0; hen <= (MONEY - cock * 5) / 3; hen++){ //控制母鸡数量
chick = MONEY - hen - cock; //鸡雏数量
if(chick + cock + hen == 100 && cock * 5 + hen * 3 + chick / 3 == 100 && chick % 3 == 0){
//鸡雏,公鸡,母鸡的数量和为100,买鸡的钱总数为100,鸡雏的数量为3个倍数
printf("cock=%d,hen=%d,chicken=%d\n", cock, hen, chick);
}
}
}
return 0;
}
解题思路:
step1:控制公鸡的数量
step2:控制母鸡数量
step3:鸡雏的数量等于总数减去公鸡和母鸡的数量
step4:输出条件为:鸡雏,公鸡,母鸡的数量和为100,买鸡的钱总数为100,鸡雏的数量为3个倍数
归属知识点:
循环结构
条件判断