static void SearchforVampireFromInternet() {
String[] targetNum = null;
String[] gunNum=null; // 目标数字和枪数字(即对比数字)
int sum = 0; // 吸血鬼数字的总个数
int count=0; // 有效判断次数,那些乘积不是4位数的就排除了
for (int i = 10; i < 100; i++) {
for (int j = i+1; j < 100; j++) { // 没有哪个两位数满足ab*ab=abab, 所以这里j从i+1开始就可以了
int i_target = i * j;
if (i_target < 1000 || i_target > 9999)
continue; // 积不是4位数则跳过
count++;
targetNum = String.valueOf(i_target).split(""); // 将其转换为一个字符串数组
gunNum = (String.valueOf(i) + String.valueOf(j)).split("");
java.util.Arrays.sort(targetNum); // 升序排列,因为只有排列了再比较才能保证不遗漏abcd=ba*dc这样的情况
java.util.Arrays.sort(gunNum);
if (java.util.Arrays.equals(targetNum, gunNum)) {
// 排序后比较,为真则找到一组
sum++;
System.out.println("第" + sum + "个: " + i_target+"="+i + "*" + j);
}
}
}
System.out.println("共进行了"+count+"次判断,找到" + sum + "个吸血鬼数字。");
} /* Output:
第1个: 1395=15*93
第2个: 1260=21*60
第3个: 1827=21*87
第4个: 2187=27*81
第5个: 1530=30*51
第6个: 1435=35*41
第7个: 6880=80*86
共进行了3271次判断,找到7个吸血鬼数字。
*///:~
四位数的吸血鬼数学
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这是润总在讲价量之秤一课里就给我们的一道思考题。 一个公司的存在,是以有利润为前提的。只要商品的毛利乘以销量大于经...