一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Java計算黑洞數的方法示例

Java計算黑洞數的方法示例

2021-03-08 12:22xxiaowen JAVA教程

這篇文章主要介紹了Java計算黑洞數的方法,簡單描述了黑洞數的概念及具體計算方法,涉及java數值運算相關操作技巧,需要的朋友可以參考下

本文實例講述了Java計算黑洞數的方法。分享給大家供大家參考,具體如下:

任意一個5位數,比如:34256,把它的各位數字打亂,重新排列,可以得到一個最大的數:65432,一個最小的數23456。求這兩個數字的差,得:41976,把這個數字再次重復上述過程(如果不足5位,則前邊補0)。如此往復,數字會落入某個循環圈(稱為數字黑洞)。

比如,剛才的數字會落入:[82962,75933, 63954, 61974]這個循環圈。

請編寫程序,找到5位數所有可能的循環圈,并輸出,每個循環圈占1行。其中5位數全都相同則循環圈為[0],這個可以不考慮。循環圈的輸出格式仿照:

[82962,75933, 63954, 61974]

其中數字的先后順序可以不考慮。

Test.java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
public class Test {
static int r=0;
static int b[]=new int[16];
static int c[]=new int[5];
static int sort(int n,boolean boo) //排序函數
{
 int i,j,sum=0,temp;
 int a[]=new int[5];
 for(i=0;i<5;i++)
 {
 a[i]=n%10;
 n/=10;
 }
 for(j=0;j<4;j++)
 for(i=0;i<4-j;i++)
 {
  if(a[i]<a[i+1]&&boo)
  {
  temp=a[i];
  a[i]=a[i+1];
  a[i+1]=temp;
  }
  if(a[i]>a[i+1]&&!boo)
  {
  temp=a[i];
  a[i]=a[i+1];
  a[i+1]=temp;
  }
 }
 for(i=0;i<5;i++)
 sum+=a[i]*(int)Math.pow(10,4-i);
 return sum;
}
static boolean Boo(int d[])//判斷函數
{
 int n,t,q,i,j;
 boolean flag=true;
 for(i=0;i<16;i++)
 for(j=i+1;j<16;j++)
  if(b[i]==b[j])//判斷是否有循環圈存在,只需要判斷是否有相同的一個數出現2次就夠了
  {
  d[0]=i;
  d[1]=j;
  n=j-i;
  for(q=0;q<=r;q++)
   for(t=i;t<=j;t++)
   if(c[q]==b[t]) flag=false;//用一維數組存放循環圈的一位數(任意一位都可以,這里選取第一位)
  if(flag) c[r++]=b[i];//如果新生成的循環圈中的任何一位與原一維數組存放的值的不同 則再取循環圈的一位保存
  return flag;
  }
 return flag;
}
public static void main(String[] args)
{
 int n,m,w,t,p;
 int r=1;
 boolean flag=false;
 int d[]=new int[2];
 System.out.println("服務器之家測試結果:");
 for(m=10000;m<100000;m++)
 {
 n=m;
 for(p=0;p<16;p++)
 {
  w=sort(n,true)-sort(n,false);
  b[p]=w;
  n=w;
 }
 if(Boo(d))//輸出不同的循環圈
 {
  System.out.printf("[");
  for(t=d[0];t<d[1]-1;t++)
  System.out.printf("%d,",b[t]);
  System.out.printf("%d",b[t]);
  System.out.printf("]\n");
 }
 }
}
}

運行結果:

Java計算黑洞數的方法示例

希望本文所述對大家java程序設計有所幫助。

原文鏈接:http://blog.csdn.net/wenzhilanyu2012/article/details/8759298

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品亚洲国产AV涩情 | 娇妻终于接受了3p的调教 | 九九免费高清在线观看视频 | 国产伊人久久 | 污翼鸟| 经典WC女厕所里TV | 激情视频图片小说qvdo | 网站在线播放 | 国产伊人网 | 亚洲国产欧美在线人成aaa | 免费看男人使劲躁女人小说 | 国产拍拍拍免费专区在线观看 | 99热久久这里只有精品23 | 我和寂寞孕妇的性事 | 唯美 清纯 另类 亚洲制服 | 四虎影院在线免费播放 | 日韩一级生活片 | 操美女b| aaa一级特黄| 日韩在线免费播放 | 无限资源在线观看完整版免费下载 | 狠狠干狠狠插 | 亚洲人尿尿| 亚洲欧美影院 | 四影虎库最新2021 | 日本欧美不卡一区二区三区在线 | 好男人天堂网 | 欧美日韩国产一区二区三区在线观看 | 免费理伦片手机在线播放 | jux539原千岁在线播放 | 国产欧美视频高清va在线观看 | 国产91精品久久久久久久 | a一级黄| 国产xxx在线| 国产久草在线 | 91色+91sesex| 网红思瑞一区二区三区 | 热久久天天拍天天拍热久久2018 | bt伙计最新合集 | 无颜之月5集全免费看无删除 | 日本阿v精品视频在线观看 日本xxx片免费高清在线 |