/*
题目:(编程题)下列乘法算式中:每个汉字代表1个数字(0~9)。
相同的汉字代表相同的数字,不同的汉字代表不同的数字。
赛软件 * 比赛 = 软件比拼
试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。
分析:用穷举法,然后用条件筛选
用变量a、b、c、d、e五个变量分别表示"赛"、"软"、"件"、"比"、"赛"5个字,
要求其组成的整数符合以下规则abc*da=bcde,
并且a、b、c、d、e各不相同
*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d,e;
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
if(a!=b)
for(c=0;c<=9;c++)
if(c!=a&&c!=b)
for(d=0;d<=9;d++)
if(d!=a&&d!=b&&d!=c)
for(e=0;e<=9;e++)
if(e!=a&&e!=b&&e!=c&&e!=d)
if((a*100+b*10+c)*(d*10+a)==b*1000+c*100+d*10+e)
cout<<a<<b<<c<<"*"<<d<<a<<"="<<b<<c<<d<<e;
return 0;
}