1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系:
B = 2 * A
C = 3 * A
请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。
B = 2 * A
C = 3 * A
请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。
注意:只提交A的值,严格按照格式要求输出。
方法一:
public static void main(String[] args){
char[] cc=new char[9];
for(int a1=1;a1<10;a1++){
for(int a2=0;a2<10;a2++){
for(int a3=0;a3<10;a3++){
for(int b1=1;b1<10;b1++){
for(int b2=0;b2<10;b2++){
for(int b3=0;b3<10;b3++){
for(int c1=1;c1<10;c1++){
for(int c2=0;c2<10;c2++){
for(int c3=0;c3<10;c3++){
int a=a1*100+a2*10+a3;
int b=b1*100+b2*10+b3;
int c=c1*100+c2*10+c3;
if(b==2*a&&c==3*a){
String str1=String.valueOf(a);
char[] s1=str1.toCharArray();
String str2=String.valueOf(b);
char[] s2=str2.toCharArray();
String str3=String.valueOf(c);
char[] s3=str3.toCharArray();
for(int q1=0;q1<3;q1++){
cc[q1]=s1[q1];
}
for(int q2=0;q2<3;q2++){
cc[q2+3]=str2.charAt(q2);
}
for(int q3=0;q3<3;q3++){
cc[q3+6]=str3.charAt(q3);
}
Arrays.sort(cc);
if("123456789".equals(String.valueOf(cc))){
System.out.println(a);
}
}
}
}
}
}
}
}
}
}
}
}
方法二:
public static void main(String[] args){
int[] a={1,2,3,4,5,6,7,8,9};
num(a,0);
}
public static void num(int a[],int b){
if(a.length-1==b){
int A,B,C;
A=a[0]*100+a[1]*10+a[2];
B=a[3]*100+a[4]*10+a[5];
C=a[6]*100+a[7]*10+a[8];
if(B==2*A&&C==3*A){
System.out.println(A);
}
//return;
}
for(int i=b;i<a.length;i++){
int temp=a[b];
a[b]=a[i];
a[i]=temp;
num(a,b+1);
temp=a[b];
a[b]=a[i];
a[i]=temp;
}
}