问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:count.cpp
*作 者:单昕昕
*完成日期:2014年10月27日
*版 本 号:v1.0
*
*问题描述:设计程序输出“都、要、学、c”四个符号代表的数字。
C
学C
要学C
+ 都要学C
——————
2 0 0 8
不同符号代表不同数字,相同符号代表相同数字。
*程序输出:“都、要、学、c”四个符号代表的数字。
*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,count=0;
cout<<"正确答案为:"<<endl;
for(a=0; a<=9; a++) //穷举a的全部情况,a为“都”。
for(b=0; b<=9; b++) //穷举b的全部情况,b为“要”。
for(c=0; c<=9; c++) //穷举c的全部情况,c为“学”。
for(d=0; d<=9; d++) //穷举d的全部情况,d为“c”。
if(((a-b)*(a-c)*(a-d)*(b-c)*(b-d)*(c-d)!=0)&&(a*1000+b*2*100+c*3*10+d*4==2008)) //判断输出成立的条件
{
++count;
cout<<"方案"<<count<<": "<<"“都”为:"<<a<<", "<<"“要”为:"<<b<<", "<<"“学”为:"<<c<<", "<<"“c”为:"<<d<<endl;//输出方案
}
return 0;
}
运行结果:
知识点总结:
利用穷举法解决奥数题。
学习心得:
( ⊙o⊙ )哇感觉学会了这个程序设计,这种级别的奥数题都是小case了。。