数字黑洞题解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/* To change this template, choose Tools | Templates and open the template in the editor. */ package javaapplication11; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; /**l** @authorxx */ public class BlackHole { public static void main(String[] args) { int[] array = new int[1000]; for (int i = 0; i 1000; i++) { array[i]=0;}ListInteger blackHoleList = new ArrayListInteger(); SetInteger hs=new HashSetInteger(); for (int i = 100; i 999; i++) { if(array[i]!=0) 1 / 4 continue; int n = i; while (array[n] == 0) { array[n]++; n = generateNextNum(n);}// 找到重复出现的数 ,此数有可能是黑洞 if(array[n] == 1){ while (array[n] 3 ) { array[n]++; if(!hs.contains(n)) hs.add(n); else blackHoleList.add(n); n = generateNextNum(n);}showResult(blackHoleList); blackHoleList.clear(); hs.clear();}} // for (int i = 100; i 999; i++) { // if(i%100==0) // System.out.println(); // System.out.print(array[i]); // }}// 生成下一个整数 n private static int generateNextNum(int n) { 2 / 4 int[] a = new int[5]; int[] asc = new int[5]; int[] desc = new int[5]; translateIntToArray(n, a); sortAll(a, asc, desc); int max = translateArrayToInt(desc); int min = translateArrayToInt(asc); n = max - min; return n;}private static void showResult(ListInteger blackHoleList) { if(blackHoleList.isEmpty()) return; System.out.print([); for (IteratorInteger it = blackHoleList.iterator(); it.hasNext();) {System.out.print(it.next()); if(it.hasNext()) System.out.print(,);}System.out.println(]);}// 把整数转化对应的整数数组 static void translateIntToArray(int n, int[] a) { int yushu; for (int i = a.length - 1; n 0; i--) { yushu = n % 10; a[i] = yushu; n = n / 10;}} 3 / 4 把整数数组转化成对应整数 static int translateArrayToInt(int[] a) { int n = 0; for (int i = 0; i a.length; i++) { n =n*10+ a[i];}return n;}// 排升序和降序 static void sortAll(int[] a, int[] asc, int[] desc) { System.arraycopy(a, 0, asc, 0, a.length); Arrays.sort(asc); System.arraycopy(asc, 0, desc, 0,

文档评论(0)

183****6506 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档