题目要求
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?
本程序要求解的问题是:给定一个正整数 n,用 n 文钱买 n 只鸡,问公鸡、母鸡、小鸡各买多少只?
输入格式
输入一个正整数 n。
输出格式
如果有解,依次输出公鸡、母鸡、小鸡的个数(用正整数表示)。
如果无解,输出"No Answer."
。
数据范围
1≤n≤200。
Sample Input
100
Sample Output
0 25 75 4 18 78 8 11 81 12 4 84
用三个嵌套的for循环来控制三个变量,分别对应公鸡、母鸡、小鸡的数量,达成条件输出即可。
#include <iostream>
using namespace std;
int main(void) {
int n,m=0;
cin >> n; //输入钱数
int i, j, k;
for (i = 0;i * 5 <= n;i++) { //嵌套循环进行分别计算
for (j = 0;j * 3 <= n;j++) {
for (k = 0;k / 3 <= n;k+=3) {
if (i * 5 + j * 3 + k / 3 == n && i + j + k == n) { //达成条件输出
cout << i << " " << j << " " << k << endl;
m++; //用来判断有没有达成条件的组合
}
}
}
}
if (m == 0) {
cout << "No Answer." << endl;
}
return 0;
}