Problem I. S06-14 穷举法(穷举简单这一类题的解法)
马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计30个人,在一家饭店里吃饭,共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几人。
输入
输出
穷举法每一行分别按顺序输出男人、女人和小孩的人数
样例
| 标准输入复制文本 |
| 标准输出复制文本 |
0 20 10
1 18 11
2 16 12
3 14 13
4 12 14
5 10 15
6 8 16
7 6 17
8 4 18
9 2 19
10 0 20 |
解题思路:
1、先判断男人、女人、孩子最多能有多少人(穷举的前提条件)
2、符合穷举答案的条件
3、输出的格式化
#include <iostream>
using namespace std;
int main()
{
for(int a=0;a<17;a++)
{
for(int b=0; b<=25;b++)
{
for(int c=0;c<=30;c++)
{
if(a*3+b*2+c==50&&a+b+c==30) //符合穷举的条件
{
printf(" %2d %2d %2d\n",a,b,c);//注意输出的格式!
}
}
}
}
return 0;
}

浙公网安备 33010602011771号