java中1-9数字分为3组3位数每个数用一次第一组数是第二组数的二倍,是第三组数的三倍,求程序

2024年11月22日 22:31
有2个网友回答
网友(1):

public class Test1 {
static boolean digitEqual(int n) {
int a = n % 10;
int b = n / 10 % 10;
int c = n / 100;
if (a == b || a == c || b == c)
return true;
return false;
}
static int[] digit(int n) {
return new int[] { n % 10, n / 10 % 10, n / 100 };
}
public static void main(String[] args) {
boolean[] d = new boolean[10];
Here:
for (int i = 123; i <= 329; i++)
if (!digitEqual(i) && !digitEqual(2 * i) && !digitEqual(3 * i))
{
for(int j=0;jd[j]=false;
for(int j:digit(i))
d[j]=true;
for(int j:digit(2*i))
d[j]=true;
for(int j:digit(3*i))
d[j]=true;
for(int j=1;jif(!d[j])
continue Here;
System.out.println(i + " " + 2 * i + " " + 3 * i);
return;
}
}
}

网友(2):

一楼正解