Problem C: 三羊献瑞
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 5 Solved: 3
[Submit][Status][Web
Board] [Edit] [TestData]
Description
观察下面的加法算式:
祥 瑞 生 辉
+
三 羊 献 瑞
-------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
Input
Output
HINT
思路:这是前几天做的草稿。。把要求输出的三样献瑞满足的唯一一个输出来。。我发现有好几个。但是第一个首个数字不能是0。。对于不同的汉子可以看成一个变量,然后不同变量不取相同的数字。。可以看下面代码,应该很好理解了
#include<iostream> using namespace std; int main() { int a,b,c,d,e,f,g,i; for(a=0;a<=9;a++) { for(b=0;b<=9;b++) { if(a==b) continue; for(c=0;c<=9;c++) { if(a==c ||b==c) continue; for(d=0;d<=9;d++) { if(a==d||b==d ||c==d) continue; for(e=0;e<=9;e++) { if(a==e ||b==e ||c==e||d==e) continue; for(f=0;f<=9;f++) { if(a==f ||b==f||c==f||d==f||e==f) continue; for(g=0;g<=9;g++) { if(a==g ||b==g||c==g||d==g||e==g||f==g) continue; for(i=0;i<=9;i++) { if(a==i ||b==i||c==i||d==i||e==i||f==i||g==i) continue; if(1000*a+100*b+10*c+d+1000*e+100*f+10*g+b==10000*e+1000*f+100*c+10*b+i) {cout<<a<<b<<c<<d<<endl; cout<<e<<f<<g<<b<<endl; cout<<e<<f<<c<<b<<i<<endl; } } } } } } } } } return 0; }
时间: 2024-10-29 19:12:00