简单推导:【九数分三组】
【题目】
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");
}

浙公网安备 33010602011771号