package cn.lifx.test;
public class OneToNineTest
{
public static void main(String[] args)
{
OneToNineTest test = new OneToNineTest();
test.findNum();
}
public void findNum()
{
int num1 = 0;
int num2 = 0;
int num3 = 0;
int a1, a2, a3, b1, b2, b3; // for method 1 used
for(int i=1; i<=3; i++)
{
for(int j=1; j<=9; j++)
{
for(int k=1; k<=9; k++)
{
if(j!=i && k!=j && k!=i)
{
num1 = 100 * i + 10 * j + k;
num2 = num1 * 2;
num3 = num1 * 3;
//method 1
a1 = num2/100;
a2 = (num2/10)%10;
a3 = num2%10;
b1 = num3/100;
b2 = (num3/10)%10;
b3 = num3%10;
if(num3<1000 && Diff(a1, a2, a3) && Diff(b1, b2, b3))
{
if(Diff(i, j, k, a1, a2, a3, b1, b2, b3))
{
System.out.println("The three numbers are : " + num1 + " " + num2 + " " + num3);
}
}
//method 2
// if(num3<1000 && Diff(num1, num2) && Diff(num1, num3) && Diff(num2, num3))
// {
// System.out.println("The three numbers are : " + num1 + " " + num2 + " " + num3);
// }
}
}
}
}
}
//method 1
public boolean Diff(int a1, int a2, int a3, int b1, int b2, int b3, int c1, int c2, int c3)
{
boolean flag = false;
if(Diff(a1, b1, b2, b3) && Diff(a2, b1, b2, b3) && Diff(a3, b1, b2, b3) &&
Diff(a1, c1, c2, c3) && Diff(a2, c1, c2, c3) && Diff(a3, c1, c2, c3) &&
Diff(b1, c1, c2, c3) && Diff(b2, c1, c2, c3) && Diff(b3, c1, c2, c3))
{
flag = true;
}
return flag;
}
//method 2
public boolean Diff(int num1, int num2)
{
boolean flag = false;
int a1 = num1/100;
int a2 = (num1/10)%10;
int a3 = num1%10;
int b1 = num2/100;
int b2 = (num2/10)%10;
int b3 = num2%10;
if(Diff(a1, a2, a3) && Diff(b1, b2, b3) &&
Diff(a1, b1, b2, b3) && Diff(a2, b1, b2, b3) && Diff(a3, b1, b2, b3))
{
flag = true;
}
return flag;
}
//public use
public boolean Diff(int a, int b, int c)
{
boolean flag = false;
if(a!=b && a!=c && b!=c && a!=0 && b!=0 && c!=0)
flag = true;
return flag;
}
public boolean Diff(int a, int b, int c, int d)
{
boolean flag = false;
if(a != b && a != c && a != d)
flag = true;
return flag;
}
}
输出为:
The three numbers are : 192 384 576
The three numbers are : 219 438 657
The three numbers are : 273 546 819
The three numbers are : 327 654 981