版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Problem A: 百鸡问题
分析
看似是个复杂问题,其实就是多次嵌套循环,多次遍历的结果,所以三个变量也就是三个循环。
Description
古代《张邱建算经》中的“百鸡问题”是一道很有名的算题。题目内容是:用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?
Input
没有输入
Output
输出所有的可能,要求一种可能一行,分别输出三个整数,代表公鸡,母鸡及小鸡的个数,中间用一个空格隔开 输出的时候要求,先输出公鸡数最少的可能,公鸡数如果相同的几种情况,先输出母鸡数最少的情况
Sample Input
Sample Output
0 25 75
4 18 78
8 11 81
12 4 84
#include<stdio.h>
#include<math.h>
int main(){
int i,j,k;
for(i=0;i<=100;i++)
{
for(j=0;j<=100;j++)
{
for(k=0;k<=100;k++)
{
if(i*5+j*3+k/3==100&&k%3==0&&i+j+k==100)
printf("%d %d %d\n",i,j,k);
}
}
}
return 0;
}
总结
1、几个变量往往就要几次循环,注意判断条件的逻辑完整性,因为要满足整除的问题,所以不要忘记判断整除条件。
2、注意i,j,k的初始值设置。