解题思路:





注意事项:

    数字之间使用空格隔开。



参考代码:

public class C1518 {
	public static void main(String[] args) {
		//由于是3位数 故应该比例为1的数应该在区间【123, 329 】范围内
		for(int i100 = 1; i100 <= 3; i100++){
			for(int i010 = 1; i010 <= 9; i010++){
				if(i010 != i100){
					for(int i001 = 1; i001 <= 9; i001++){
						if(i001 != i100 && i001 != i010){
							int i = 100*i100 + 10*i010 + i001;
							if(i >= 123 && i<= 329){
								String a = String.valueOf(i);
								String b = String.valueOf(2*i);
									if(b.indexOf("0") != -1) continue;
								String c = String.valueOf(3*i);
									if(c.indexOf("0") != -1) continue;
									
								if(isMatch(a, b) && isMatch(a, c) && isMatch(b, c))
									System.out.printf("%s %s %s\n", a, b, c);
							}
						}
					}
				}
			}
		}
	}
	
	private static boolean isMatch(String str1, String str2){
		for(int i = 0; i < 3; i++){
			if(str1.indexOf(str2.charAt(i)) != -1)
				return false;
		}
		return true;
	}
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论