- package t1;
- import java.io.*;//打印一个整数用小于等于他大于零的整数表示的所有表达
- import java.util.*;
- class Ghh
- {
- public static void main(String[] args) throws Exception
- {
- // Scanner scanner = new Scanner(System.in);
- // int k = scanner.nextInt();
- int k = 8;
- String a = "";
- ghh(k,0,a);
- }
- static public void ghh(int m,int n,String a)
- {
- int i;
- String b = a;
- System.out.println(m + " " + n + " " + a );
- if (n == 0){
- i = 1;
- }
- else{
- i = n;
- }
- for ( ; i <= (m + 1)/2; i++ ) {
- if (m >= 2*i){
- if (n != 0){
- b = (new Integer(n)).toString() + " " + a ;
- }
- ghh(m - i, i ,b);}
- }
- }
- }
- class Number1to9
- {
- public static void main(String[] args)
- {
- int [] num = new int[9];
- int [][] n3 = new int[100][];
- int [][] n2 = new int[30][];
- int [] n4 = new int[3];
- int m;
- int t;
- int k2 = 0;
- int k3 = 0;
- int nu4;
- int nu3;
- int nu2;
- for (int i = 1; i <= 9; i++)
- {
- for (int j = i + 1; j <= 9; j++)
- {
- m = i * j;
- if (m < 10)
- {
- n2[k2++] = new int[]{i,j};
- n2[k2++] = new int[]{j,i};
- }
- t = m % 10;
- if (t != 0 && t != i && t != j)
- {
- n3[k3++] = new int[]{i,j,t};
- n3[k3++] = new int[]{j,i,t};
- }
- }
- }
- k2 = k2 - 1;
- k3 = k3 -1;
- for (int x = k2; x >= 0 ; x-- )
- {
- int k2_1 = n2[x][0];
- int k2_2 = n2[x][1];
- for (int y = k3; y >= 0 ; y-- )
- {
- int k3_1 = n3[y][0];
- int k3_2 = n3[y][1];
- int k3_3 = n3[y][2];
- if ((k3_1 != k2_1 && k3_2 != k2_2) &&(k3_1 != k2_2 && k3_2 != k2_1) &&(k2_1 != k3_3 && k2_2 != k3_3))
- {
- for (int q = 0;q < 9 ;q++ )
- {
- num = new int[]{0,0,0,0,0,0,0,0,0};
- num[k2_1 - 1] = 1;
- num[k2_2 -1] = 1;
- num[k3_1 - 1] = 1;
- num[k3_2 - 1] = 1;
- num[k3_3 - 1] = 1;
- if (num[q] != 1)
- {
- nu2 = k2_1 * 10 + k3_1;
- nu3 = k2_2 * 100 + (q + 1) * 10 + k3_2;
- nu4 = nu2 * nu3;
- if (nu4 < 10000 && nu4 % 10 == k3_3)
- {
- num[q] = 1;
- n4[0] = (nu4 / 10) % 10;
- if (n4[0] != 0 && num[n4[0] - 1] != 1)
- {
- num[n4[0] - 1] = 1;
- }
- else continue;
- n4[1] = (nu4 / 100) % 10;
- if (n4[1] != 0 && num[n4[1] - 1] != 1)
- {
- num[n4[1] - 1] = 1;
- }
- else continue;
- n4[2] = (nu4 /1000);
- if (n4[2] != 0 && num [n4[2] - 1] != 1)
- {
- num [n4[2] - 1] = 1;
- }
- else continue;
- System.out.println(nu2 + "----" + nu3 + "----" + nu4);
- }
- }
- }
- }
- }
- }
- }
- }
java算法
最新推荐文章于 2024-08-20 00:54:19 发布