用1,2,3~9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。提示,不必太费脑筋。
样例输出:
192 384 576
219 438 657
273 546 819
327 654 981
package cn.zimo.algorithm;
/**
* 排列
* @author 子墨
* @date 2018年4月26日 下午8:29:40
*/
public class Demo16 {
public static void main(String[] args) {
for(int a=1;a<10;a++) {
for(int b=1;b<10;b++) {
for(int c=1;c<10;c++) {
for(int d=1;d<10;d++) {
for(int e=1;e<10;e++) {
for(int f=1;f<10;f++) {
for(int g=1;g<10;g++) {
for(int h=1;h<10;h++) {
for(int i=1;i<10;i++) {
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i) {
if(b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i) {
if(c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i) {
if(d!=e&&d!=f&&d!=g&&d!=h&&d!=i) {
if(e!=f&&e!=g&&e!=h&&e!=i) {
if(f!=g&&f!=h&&f!=i) {
if(g!=h&&g!=i) {
if(h!=i) {
int abc=a*100+b*10+c;
int def=d*100+e*10+f;
int ghi=g*100+h*10+i;
if(abc*6==def*3&&abc*6==ghi*2) {
System.out.println(""+abc+" "+def+" "+ghi);
}
}else continue;
}else continue;
}else continue;
}else continue;
}else continue;
}else continue;
}else continue;
}else continue;
}
}
}
}
}
}
}
}
}
}
}