一、问题及代码
/*
* 文件名称: solution.cpp
* 作 者: 威晨旭
* 完成日期: 2016 年 4 月 25 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:设法解决组合问题;
* 输入描述:无;
* 问题描述:学会使用循环语句;
* 程序输出:组合问题的答案结果;
* 问题分析:需要考虑各个数的范围;
* 算法设计:使用穷举法。
*/
#include<iostream>
using namespace std;
int main()
{
int a=1;
cout<<"都\t要\t学\tC"<<endl;
for(;a<=2;a++)
{ int b=1;
for(;b<=9;b++)
{ int c=0;
for(;c<=9;c++)
{ int d=0;
for(;d<=9;d++)
{
bool i,e;
i=(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d);
e=(a*1000+b*200+c*30+d*4==2008);
if(i && e)
cout<<a<<"\t"<<b<<"\t"<<c<<"\t"<<d<<endl;
}
}
}
}
return 0;
}
二、运行结果
(4)都要学c
三、心得体会
穷举法在明确目的之后做起来比较迅速,而且程序内容一般较少且容易理解。
四、知识点总结
使用穷举法可以轻易地解决一些组合问题,还要尤其注意for语句的嵌套使用。