百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数 n,用 n 文钱买 n 只鸡,问公鸡、母鸡、小鸡各买多少只?
输入格式
输入一个正整数 n。
输出格式
如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。
如果无解,输出"No Answer."
。
数据范围
1≤n≤200。
输入样例
100
输出样例
0 25 75 4 18 78 8 11 81 12 4 84
解题思路:1.输入正整数n,用n钱买n只鸡;
2.先利用循环枚举出公鸡的可能情况;
3.在公鸡满足的情况下再利用循环找到母鸡的可能情况;
4.在公鸡和母鸡都满足的情况下用n减去公鸡和母鸡的数;
5.判断用n钱买n只鸡能不能实现;
6.按题目要求输出;
#include<stdio.h>
int main()
{
int n,a,b,c,flag=0;//定义变量
scanf("%d",&n);//输入正整数n
for(a=0;a<=n/5;a++){//计算公鸡的个数
for(b=0;b<=n/3;b++){//计算母鸡的个数
c=n-a-b;//计算小鸡的个数
if(5*a+3*b+c/3.0==n){//判断钱数
printf("%d %d %d\n",a,b,c);//输出可能的解
flag=1;
}
}
}
if(flag==0) printf("No Answer.\n");//若无解按要求输出
return 0;
}