问题:
639172每个位数上的数字都是不同的,且平方后所得数字的所有位数都不会出现组成它自身的数字。(639172*639172=408540845584),类似于639172这样的6位数还有几个?分别是什么?
代码:
import java.util.HashSet;
import java.util.Set;
public class Yi {
public static void main(String[] args) {
int t=0;
for (long i = 111111; i <= 999999; i++) {
if (i%10==1||i%10==5||i%10==6||i%10==0) {
continue;
}
if (fuhe(i,i*i)) {
t++;
System.out.println(i);
}
}
System.out.println(t);
}
private static boolean fuhe(long i, long l) {
Set set = new HashSet();
Set se = new HashSet();
int a = geshu(set,i);
int b = geshu(se,l);
int c = geshu(set,l);
if(a!=6){
return false;
}
a += b;
if (a==c) {
return true;
}
return false;
}
private static int geshu(Set set, long i) {
set.add(i%10);
while (i/10!=0) {
i/=10;
set.add(i%10);
}
return set.size();
}
}