让我怎能过大年
有如下的加法算式。其中每个汉字代表一个数字。
(如存在对齐问题,可参见【图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("年 "+" "+"大"+" "+ " 过"+" "+"能"+" " +" 怎"+" "+" 我"+" "+"让");
}}
}
}
}