public class 排他平方数 {
public static int arr[]=new int [6];
public static int a[]=new int [12];
public static void judge(int x) {
if(butong(x)==true&&pingfang(x)==true) {
System.out.println(x);
}
}
public static boolean butong(int x) {
int n=x;
for(int i=0;i<6;i++) {
arr[i]=n%10;
n=n/10;
}
for(int i=0;i<6;i++) {
for(int j=i-1;j<6;j++) {
if(arr[i]==arr[j])
return false;
}
}
return true;
}
public static boolean pingfang(int x)
{
int n=x;
for(int i=0;i<6;i++) {
arr[i]=n%10;
n=n/10;
}
int m=x*x;;
for(int i=0;i<12;i++)
{
a[i]=m%10;
m=m/10;
}
for(int i=0;i<6;i++) {
for(int j=0;j<12;j++) {
if(arr[i]==a[j])
return false;
}
}
return true;
}
public static void main(String [] args) {
for(int i=100000;i<1000000;i++) {
judge(i);
}
}
}
for(int i=0;i<6;i++) {
for(int j=i-1;j<6;j++) {
if(arr[i]==arr[j])
return false;
}
}
这里找不同就错了,你必须保证i和j不能相等,否则自己跟自己比哪有不一样的道理
i=0;i<5;i++
j=i+1;j<6;j++
这样才对
pingfang函数里的找不同也是一样的逻辑
你这样比较永远能相等