解题思路:

    首先要保证每个数不相同的情况下,a最小是123 ,c最大是987,所以a最大是987/3 = 329
    确定a的值通过比例的关系可以确定剩下两个数,对字符串排序之后对比可以比较出字符串的各个字符是不是唯一的。
注意事项:
    比较字符串的时候不能直接用“==”进行比较,因为在string1 == string2中,比较的是地址,由于string1 和 string2是两个不同的对象,所以二者的地址不一样。

参考代码:

import java.util.Arrays;

public class Main {

	public static void main(String[] args) {

		String str = "123456789";
		String newStr = "";
		for (int a = 123; a < 330; a++) {
			int b = a * 2;
			int c = a * 3;
			newStr = a + "" + b + "" + c;
			char[] chs = newStr.toCharArray();
			Arrays.sort(chs);
			newStr = String.valueOf(chs);
			if (str.equals(newStr)) {
				System.out.println(a + " " + b + " " + c);
			}
		}
	}
}


点赞(0)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论