備戰藍橋杯(真題)第五屆第四題“讓我怎能過大年”
阿新 • • 發佈:2019-01-28
讓我怎能過大年
有如下的加法算式。其中每個漢字代表一個數字。
(如存在對齊問題,可參見【圖1.png】)
年
大年
過大年
能過大年
怎能過大年
我怎能過大年
+ 讓我怎能過大年
------------------
能能能能能能能
請填寫“讓我怎能過大年” 所代表的整數。
所有數字連在一起,中間不要空格。例如:"3125697"。當然,這個不是正確的答案。
注意:只填寫一個整數,不要填寫任何多餘的內容。
分析:直接暴力破解,做法有很多種,可以選取自己理解的一種解題模式。
直接程式碼演示:(不懂的可以下方評論)
public class D3 { public static void main(String[] args) { for(int a=0;a<=9;a++) for(int b=0;b<=9;b++) for(int c=0;c<=9;c++) for(int d=0;d<=9;d++) for(int e=0;e<=9;e++) for(int f=0;f<=9;f++) for(int g=0;g<=9;g++) { int a1=a; int a2=a+b*10; int a3=a+b*10+c*100; int a4=a+b*10+c*100+d*1000; int a5=a+b*10+c*100+d*1000+e*10000; int a6=a+b*10+c*100+d*1000+e*10000+f*100000; int a7=a+b*10+c*100+d*1000+e*10000+f*100000+g*1000000; int temp=a1+a2+a3+a4+a5+a6+a7; //求和 int nen=d*1000000+d*100000+d*10000+d*1000+d*100+d*10+d; //能能能能能能能能 //這裡乘d*1111111 也是可以的 if(temp==nen) { if(a!=b&&b!=c&&c!=d&&d!=e&&e!=f&&f!=g&&b!=d&&b!=e &&b!=f&&b!=g&&c!=e&&c!=f&&c!=g&&d!=f&&d!=g //個位各不相同 ){ System.out.println(a+" "+b+" "+ c+" "+d+" " +e+" "+f+" "+ g); System.out.println("年 "+" "+"大"+" "+ " 過"+" "+"能"+" " +" 怎"+" "+" 我"+" "+"讓"); }} } } }