问题及代码:
/*
*copyright (t) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作者:郝昱猛
*完成日期:2016年3月20日
*版本号:v1.0
*问题描述:
在右边的加法算式中,不同的符号代表不同的数字,相同的符号代
表相同的数字。请设计程序求出"都、要、学、C"4个符号分别代表的数
字。
提示:让计算机解奥数题。穷举"都、要、学、C"4个符号分别代表
的数字(从 0到 9),然后进行组合,如果组合起来符合规则(不同的符号代表不同的数字,相同
的符号代表相同的数字,且使等式成立),则为正解。*/
#include <iostream>
using namespace std;
int main()
{
int dou,yao,xue,c,s;
for (dou = 0; dou< 10; dou++)
for (yao = 0; yao < 10; yao++)
for (xue = 0; xue < 10; xue++)
for (c = 0;c < 10; c++)
if((dou-yao)*(dou-xue)*(dou-c)*(yao-xue)*(yao-c)*(xue-c)!=0)
{
s=dou*1000+yao*2*100+xue*3*10+c*4;
if(s==2008)
cout << "都= "<<dou<<" 要= "<<yao<<" 学= "<<xue<<" c="<<c<<endl;
}
return 0;
}
运行结果: