百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100100 文钱买 100100 只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数 nn,用 nn 文钱买 nn 只鸡,问公鸡、母鸡、小鸡各买多少只?
输入格式
输入一个正整数 nn。
输出格式
如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。
如果无解,输出"No Answer."
。
数据范围
n 1≤n≤200。
输入
100
输出
0 25 75 4 18 78 8 11 81 12 4 84
解题思路:总体来说,明确题意,设置函数,联立求解即可。但输出的时候要注意格式问题,基本上就没什么了。
#include<stdio.h>
#include<math.h>
int main()
{
int x,y,z,n;
int temp=0;//用于标记;
scanf("%d",&n);//输入n个数;
for(x=0;x<n/5;x++){//依此输入x;
for(y=0;y<n/3;y++){//依此输入y;
for(z=0;z<n*3;z++) {//依此输入z;
if(5*x+3*y+(z/3)==n&&x+y+z==n&&z%3==0){//逐一判断x,y,z是否符合条件;
printf("%d %d %d\n",x,y,z);//输出符合条件的数;
temp=1;//标记;
}
}
}
}
if(temp==0)//不等于初始标记,就按接下来定义的输出;
{
printf("No Answer.\n");
}
return 0;
}