第6届蓝桥杯大赛个人赛省赛(软件类)真题\Java语言B组\3

题目描述:


三羊献瑞

观察下面的加法算式:

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

(如果有对齐问题,可以参看【图1.jpg】)

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

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

直接上代码:

package wiki.zimo.exam06;

public class Demo03 {
	public static void main(String[] args) {

		for (int i = 9999; i >= 1000; i--) {
			for (int j = 1000; j <= 9999; j++) {
				if (!isRepeat(i, j)) {
					int result = i + j;

					if (judge(result, i, j)) {
						System.out.println(" "+i);
						System.out.println("+"+j);
						System.out.println("-------------------");
						System.out.println(result);
						return;
					}
				}
			}
		}
	}
	
	static boolean judge(int result,int n1,int n2) {
		String resultStr = String.valueOf(result);
		if (resultStr.length() < 5) {
			return false;
		}
		
		if (isRepeat(resultStr)) {
			return false;
		}
		
		String numStr1 = String.valueOf(n1);
		String numStr2 = String.valueOf(n2);
		
		if (numStr1.charAt(0) == resultStr.charAt(4)) {
			return false;
		}
		
		if (numStr1.charAt(0) == numStr2.charAt(2)) {
			return false;
		}
		
		if (numStr1.charAt(2) == numStr2.charAt(2)) {
			return false;
		}
		
		if (numStr1.charAt(3) == numStr2.charAt(2)) {
			return false;
		}
		
		char rui = numStr1.charAt(1);
		char sheng = numStr1.charAt(2);
		char san = numStr2.charAt(0);
		char yang = numStr2.charAt(1);
		
		if (rui == numStr2.charAt(3) && rui == resultStr.charAt(3) 
				&& sheng == resultStr.charAt(2) 
				&& san == resultStr.charAt(0) 
				&& yang == resultStr.charAt(1)) {
			return true;
		}
		
		return false;
	}
	
	static boolean isRepeat(int n1,int n2) {
		String str1 = String.valueOf(n1);
		String str2 = String.valueOf(n2);
		
		if (isRepeat(str1) || isRepeat(str2)) {
			return true;
		}
		
		return false;
	}
	
	static boolean isRepeat(String str) {
		for (int i = 0; i < str.length(); i++) {
			char ch = str.charAt(i);
			int index = str.indexOf(ch, i + 1);
			if (index > 0) {
				return true;
			}
		}
		return false;
	}
}
发布了69 篇原创文章 · 获赞 50 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_36737934/article/details/88320993