练39.4 百钱买百鸡
双重枚举解百钱买百鸡问题
正文
// 原题:https://oj.yecheng.tv/p/P239
// 题意:公鸡 3 文一只、母鸡 2 文一只、
// 1 文买 3 只小鸡,100 文买 100 只鸡且每种至少一只,
// 按数量从小到大输出所有方案。
// 思路:枚举公鸡和母鸡数量,小鸡数随之确定,
// 验证总钱数(小鸡钱数乘 3 避免除法)。
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << "公鸡母鸡小鸡" << endl;
// 公鸡至少 1 只,最多 33 只
for (int x = 1; 3 * x <= 100; x++) {
// 母鸡至少 1 只
for (int y = 1; 3 * x + 2 * y <= 100; y++) {
int z = 100 - x - y;
// 小鸡也要至少 1 只,且钱数刚好 100 文
if (z >= 1 && z % 3 == 0 && 3 * x + 2 * y + z / 3 == 100) {
cout << setw(5) << x << setw(5) << y << setw(5) << z << endl;
}
}
}
return 0;
}
C++语法 · 循环结构的其它内容
- 【例24.1】 重要的话说 n 遍
- 【例24.2】 26个兄弟姐妹1
- 【例24.3】 奇数求和
- 练24.1 老狼老狼
- 练24.2 for循环求和
- 练24.3 循环输出
- 【例25.1】 不说脏话
- 【例25.2】 26个兄弟姐妹2
- 【例25.3】 输出奇偶数之和
- 练25.1 打老虎
- 练25.2 订餐时间
- 练25.3 偶数求和
- 【例26.1】 人类的本质
- 【例26.2】 循环判断输出
- 【例26.3】 多数求和
- 练26.1 输出偶数
- 练26.2 分苹果
- 练26.3 求平均年龄
- 【例27.1】 求整数的和与均值(限c++)
- 【例27.2】 最小n值
- 【例27.3】 第几项
- 练27.1 叮叮当当
- 练27.2 布纳特难题
- 练27.3 称心如意(限c++)
- 【例28.1】 统计奖牌
- 【例28.2】 求出e的值
- 【例28.3】 数列分段
- 练28.1 多边形内角和
- 练28.2 满足条件的数累加
- 练28.3 短信计费(限c++)
- 练28.4 上课点名(限c++)
- 【例29.1】 求阶乘
- 【例29.2】 幂的末尾
- 【例29.3】 求小数的某一位
- 练29.1 人口增长问题
- 练29.2 末两位数
- 练29.3 银行利息
- 【例30.1】 平方根
- 【例30.2】回家作业
- 【例30.3】 按要求计算输出
- 练30.1 鸡尾酒疗法
- 练30.2 错误减法
- 练30.3 奇偶分家
- 【例31.1】 石头剪子布
- 【例31.2】 证书等级
- 【例31.3】正常血压
- 练31.1 年龄与疾病
- 练31.2 数值统计
- 练31.3 画图
- 【例32.1】 学游泳
- 【例32.2】 凑数
- 【例32.3】 数位积
- 练32.1 立方和不等式
- 练32.2 种植竹笋
- 练32.3 买房子
- 【例33.1】 卡(qia)常数
- 【例33.2】 两位数
- 【例33.3】 凑数
- 练33.1 3721数
- 练33.2 素数判断