【题目】
1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系:
B = 2 * A
C = 3 * A
请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。
注意:只提交A的值,严格按照格式要求输出。
【分析】
很明显A的取值范围是111~333,那么在这个区间里面,还要考虑,A、B、C里面不能包含0,最后再考虑的问题是A、B、C三个数字连起来组成的字符串经过排序应该是"123456789"。
import java.math.BigInteger; import java.util.*; public class Lanq { //public static double pi = 3.1415926535897932; public static void main(String[] args) { for (int a = 111; a <= 333; a++) if (hasZero(a)){ continue; } else{ int b=2*a; int c=3*a; if(hasZero(b)||hasZero(c)){ continue; } String s=""+a+b+c; if(isFind(s)){ System.out.println(a+" "+b+" "+c); } } } public static boolean isFind(String x){ char []arr=x.toCharArray(); Arrays.sort(arr);//字符数组也能排序 return "123456789".equals(String.valueOf(arr)); } public static boolean hasZero(int n){ return String.valueOf(n).contains("0"); }