第六届蓝桥杯省赛 java三羊献瑞
将文字看作一个个变量。根据一开始确定的文字的值进行暴力循环。
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
1 package com.k; 2 3 import java.util.Scanner; 4 5 public class Main 6 { 7 public static void main(String args[]) { 8 //祥 瑞 生 辉 羊 献 气 9 int a,b,c,d,e,f,g; 10 for(a=2;a<=9;a++) { 11 for(b = 0;b<=9;b++) { 12 for(c = 0;c<=9;c++) { 13 for(d=0;d<=9;d++) { 14 for(e=0;e<=9;e++) { 15 for(f=0;f<=9;f++) { 16 for(g=0;g<=9;g++) { 17 if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&& 18 b!=c&&b!=d&&b!=e&&b!=f&&b!=g&& 19 c!=d&&c!=e&&c!=f&&c!=g&& 20 d!=e&&d!=f&&d!=g&& 21 e!=f&&e!=g&& 22 f!=g&& 23 b!=1&&c!=1&&d!=1&&e!=1&&f!=1&&g!=1) { 24 int x = a*1000+b*100+c*10+d; 25 int y = 1*1000+e*100+f*10+b; 26 int sum = 1*10000+e*1000+c*100+b*10+g; 27 if(sum == x+y) { 28 System.out.println(y); 29 } 30 } 31 } 32 } 33 } 34 } 35 } 36 } 37 } 38 } 39 }