“吸血鬼数字”

来源:互联网 发布:淘宝网香奈尔女装 编辑:程序博客网 时间:2024/06/10 02:23
今日在书上看到了这个题目觉得挺有意思,算法很巧妙,拿来和大家分享。
  1. public class Vampire { 
  2. public static void main(String[] arg){ 
  3.   String[] ar_str1,ar_str2; 
  4.   int sum=0
  5.   //双重循环穷举 
  6.   for(int i=10;i <100;i++){ 
  7.   //j=i+1避免重复 
  8.   for(int j=i+1;j <100;j++){ 
  9.     int i_val=i*j; 
  10.     if(i_val <1000 ¦ ¦i_val>9999)continue;//积小于1000或大于9999排除,继续下一轮环 
  11.     ar_str1=String.valueOf(i_val).split(""); 
  12.     ar_str2=(String.valueOf(i)+String.valueOf(j)).split(""); 
  13.     java.util.Arrays.sort(ar_str1); 
  14.     java.util.Arrays.sort(ar_str2); 
  15.     if(java.util.Arrays.equals(ar_str1, ar_str2)){//排序后比较,为真则找到一组 
  16.     sum++; 
  17.     System.out.println("第"+sum+"组: "+i+"*"+j+"="+i_val); 
  18.     } 
  19.   } 
  20.   } 
  21.   System.out.println("共找到"+sum+"组吸血鬼数"); 
  22. 运行结果: 
  23. C:/work>java  Vampire 
  24. 1组: 15*93=1395 
  25. 2组: 21*60=1260 
  26. 3组: 21*87=1827 
  27. 4组: 27*81=2187 
  28. 5组: 30*51=1530 
  29. 6组: 35*41=1435 
  30. 7组: 80*86=6880 
  31. 共找到7组吸血鬼数 
原创粉丝点击