标题:神奇6位数
有一个6位的正整数,它有个很神奇的性质:
分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。
请计算出这个6位数。
有一个6位的正整数,它有个很神奇的性质:
分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。
请计算出这个6位数。
这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)
思路:没想到别的好办法,依然是枚举。。
package 历届国赛;
import java.io.*;
import java.util.HashSet;
public class 神奇6位数 {
static int re = 0;
static HashSet hs = new HashSet<String>();
static boolean is_same(int n){//是否完全相同
// System.out.println(n);
String rs = String.valueOf(re);
HashSet h = new HashSet<String>();
String s = String.valueOf(n);
for(int i=0;i<6;i++){//一定是6位
h.add(rs.charAt(i));
h.add(s.charAt(i));
}
// System.out.println(h);
if(h.size() != hs.size())
return false;
else return true;
}
static void f(){
for(int i=100000;i<=999999;i++){
re = i;
String rs = String.valueOf(re);
HashSet pd = new HashSet<String>();//判断
for(int j=0;j<rs.length();j++){
pd.add(rs.charAt(j));
}
hs = pd;
if(is_same(2*i) && is_same(3*i) && is_same(4*i) && is_same(5*i) && is_same(6*i)){
break;
}else re = 0;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
f();
System.out.println(re);
}
}
142857