找吸血鬼数(转)
来源:互联网 发布:相机卡格式化恢复数据 编辑:程序博客网 时间:2024/05/05 19:17
代码:
/**
* 功能:找出四位数中由二位数相乘得出的吸血鬼数
* @author wiley
*/
public class Vampire {
public static void main(String[] arg){
String[] ar_str1,ar_str2;
int sum=0;
//双重循环穷举
for(int i=10;i<100;i++){
//j=i+1避免重复
for(int j=i+1;j<100;j++){
int i_val=i*j;
if(i_val<1000||i_val>9999)continue;//积小于1000或大于9999排除,继续下一轮环
ar_str1=String.valueOf(i_val).split("");
ar_str2=(String.valueOf(i)+String.valueOf(j)).split("");
java.util.Arrays.sort(ar_str1);
java.util.Arrays.sort(ar_str2);
if(java.util.Arrays.equals(ar_str1, ar_str2)){//排序后比较,为真则找到一组
sum++;
System.out.println("第"+sum+"组: "+i+"*"+j+"="+i_val);
}
}
}
System.out.println("共找到"+sum+"组吸血鬼数");
}
}
运行结果:C:/work>java Vampire
第1组: 15*93=1395
第2组: 21*60=1260
第3组: 21*87=1827
第4组: 27*81=2187
第5组: 30*51=1530
第6组: 35*41=1435
第7组: 80*86=6880
共找到7组吸血鬼数关于吸血鬼数:
若 合成数 v 有偶数个位n ,且是 n/2 个位的正整数 x 和 y 的积,而且 x 和 y 不是同时以0为个位数,组成 x 和 y 的数字,刚好就是 v 的数字,那麽 v 就是 吸血鬼数 (vampire number),而 x 和 y 则称为 尖牙 。
例如1260是吸血鬼数,21和60是其尖牙,因为21×60=1260。可是126000=210×600却非,因为210和600都以0为个位数。
吸血鬼数是 傅利曼数 的一种。
1994年 柯利弗德·皮寇弗 在 Usenet 社群sci.math的文章中首度提出吸血鬼数。後来皮寇弗将吸血鬼数写入他的书 Keys to Infinity 的第30章。
- 找吸血鬼数(转)
- 吸血鬼数
- 吸血鬼数
- 吸血鬼数
- 吸血鬼数
- 字典序集合,吸血鬼数
- 吸血鬼数求解的思考
- 【Java学习笔记】吸血鬼数
- 吸血鬼数(Java实现)
- 【转】中华吸血鬼分析
- /吸血鬼/
- java 取四位数吸血鬼数
- 吸血鬼数算法(初步实现一)
- 四位数中吸血鬼数的查找
- Java编程思想之吸血鬼数
- 找数
- 找数
- 找数
- 重温美国精神——自由高于民主
- Spring常用配置文件(转)
- PHP 代码覆盖率分析
- Oracle的hints调整机制介绍
- 全文信息检索介绍及算法分析
- 找吸血鬼数(转)
- COM 组件设计与应用(一)
- 企业局域网安全解决方案
- WTL Form窗口
- COM组件设计与应用(二)
- C#3.0之匿名类型
- asp.net中当点击按钮时出现找不到页面的解决方案
- 论文A survey of Statical Machine Translation读后感
- COM组件设计与应用(三)