算法提高 寻找三位数
/* 算法提高 寻找三位数 问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。 输入格式 无输入文件 输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。 */ public class Main { public static void main(String args[]) { for (int i = 111; i < 333; i++) { int j = 2 * i; int k = 3 * i; int i1 = i / 100, i2 = (i % 100) / 10, i3 = i % 10; int j1 = j / 100, j2 = (j % 100) / 10, j3 = j % 10; int k1 = k / 100, k2 = (k % 100) / 10, k3 = k % 10; if (j1 == 0 || j2 == 0 || j3 == 0 || i1 == 0 || i2 == 0 || i3 == 0 || k1 == 0 || k2 == 0 || k3 == 0) continue; boolean a[] = new boolean[10]; a[i1] = true; a[i2] = true; a[i3] = true; a[j1] = true; a[j2] = true; a[j3] = true; a[k1] = true; a[k2] = true; a[k3] = true; boolean flag = true; for (int ii = 1; ii < a.length; ii++) if (a[ii] == false) { flag = false; break; } if (flag) System.out.println(i + " " + j + " " + k); } } }