蓝桥杯JAVA B组 2015第三题 三羊献瑞

一.题目描述

观察下面的加法算式:

      祥 瑞 生 辉
  +   三 羊 献 瑞
-------------------
   三 羊 生 瑞 气

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

二.思路分析

直接暴力。
三肯定是数字1,可以直接确定。
祥:a ;瑞:b ;生:c ;辉:d ;
三:1 ;羊:e ;献:f ;瑞:b;
三:1 ;羊:e ;生:c ;瑞:b ;气:g;

return直接结束整个程序

三.代码

public class test1 {
    public static void main(String[] args){
     int a=0,b=0,c=0,d=0,e=0,f=0,g=0;
     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++){
                                 //每个数字都不相等,且每个数字都不等于1【由题目可知汉字三对应的数字为:1】
                                 if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&c!=d&&c!=e&&c!=f&&c!=g&&d!=e&&d!=f&&d!=g&&e!=f&&e!=g&&f!=g){
                                     if(a!=1&&b!=1&&c!=1&&d!=1&&e!=1&&f!=1&&g!=1){
                                         int sum1=a*1000+b*100+c*10+d;
                                         int sum2=1000+e*100+f*10+b;
                                         int sum=10000+e*1000+c*100+b*10+g;
                                         if(sum1+sum2==sum){
                                             System.out.println(sum1);   //9567    祥 瑞 生 辉
                                             System.out.println(sum2);   //1085    三 羊 献 瑞
                                             System.out.println(sum);   //10652 三 羊 生 瑞 气
                                             return;//结束整个程序的运行
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值