当前位置: 代码迷 >> 综合 >> 算法竞赛入门经典的java实现之排列-gt;Demo16.java
  详细解决方案

算法竞赛入门经典的java实现之排列-gt;Demo16.java

热度:68   发布时间:2023-10-27 06:12:59.0

用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;    }}}}}}}}    }}
}