版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lijia111111/article/details/88709154
有如下的加法算式。其中每个汉字代表一个数字。
(如存在对齐问题,可参见【图1.png】)
年
大年
过大年
能过大年
怎能过大年
我怎能过大年
+ 让我怎能过大年
------------------
能能能能能能能
请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:"3125697"。当然,这个不是正确的答案。
注意:只填写一个整数,不要填写任何多余的内容。
答案:
2072836
1572836
思路:
1、此题采用暴力破解法可以解决
2、将每个字都用字母表示出来,使用for循环嵌套,最终符合加法算式直接可以得出来
3、符合条件直接打印该数
代码:
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c,d,e,f,g;
for(a=0;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
for(d=0;d<10;d++)
{
for(e=0;e<10;e++)
{
for(f=0;f<10;f++)
{
for(g=0;g<10;g++)
{
int h=a;
int i=a+b*10;
int j=a+b*10+c*10*10;
int k=a+b*10+c*10*10+d*10*10*10;
int l=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10;
int m=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;
int n=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10+g*10*10*10*10*10*10;
int p=d+d*10+d*10*10+d*10*10*10+d*10*10*10*10+d*10*10*10*10*10+d*10*10*10*10*10*10;
if(h+i+j+k+l+m+n==p)
System.out.println(n);
}
}
}
}
}
}
}
}
}