算法要求
使用1,2,3,…,9组成3个三位数,其比值为1:2:3,且其中的9个数每个都要用一次。
代码
import java.util.HashSet;
import java.util.Set;
public class Test {
public static void main(String[] args) {
int j,k;
for(int i=123; i<999; i++) {
//set一定要在for循环里面进行定义,不然set.size一直等10,我踩的一个坑
Set<Integer> set = new HashSet<Integer>();
j = 2*i;
k = 3*i;
if(k < 999) {
//利用set不能存储重复值的特性,如果经过9次add后set.size=9,一定是1到9这9个数
set.add(i/100);
set.add(i/10%10);
set.add(i%10);
set.add(j/100);
set.add(j/10%10);
set.add(j%10);
set.add(k/100);
set.add(k/10%10);
set.add(k%10);
}
if(set.size() == 9) {
System.out.print(i + ",");
System.out.print(j + ",");
System.out.println(k);
}
}
}
}