1樓:匿名使用者
vbprivate sub command1_click()
randomize
dim bobo(4) as string
n = int(rnd() * 8999 + 1000)
n1 = 0do
a = int(n)
n1 = n
bobo(1) = int(a / 1000)
bobo(2) = int((a - bobo(1) * 1000) / 100)
bobo(3) = int((a - bobo(1) * 1000 - bobo(2) * 100) / 10)
bobo(4) = int(a - bobo(1) * 1000 - bobo(2) * 100 - bobo(3) * 10)popoasc bobo, 4
b1 = int(bobo(1)) * 1000 + int(bobo(2)) * 100 + int(bobo(3)) * 10 + int(bobo(4)) '最小數
popodesc bobo, 4
b2 = int(bobo(1)) * 1000 + int(bobo(2)) * 100 + int(bobo(3)) * 10 + int(bobo(4)) '最大數
n = b2 - b1
loop until n = n1
print n
end subpublic sub popoasc(byref bobo() as string, byval m as integer)dim i as integer
dim j as integer
dim tem as string'氣泡排序法,核心程式
for i = 1 to m - 1
for j = 1 to m - i
if (bobo(j) > bobo(j + 1)) then
tem = bobo(j)
bobo(j) = bobo(j + 1)
bobo(j + 1) = tem
end if
next j
next iend sub
' 氣泡排序法(降序)
public sub popodesc(byref bobo() as string, byval m as integer)dim i as integer
dim j as integer
dim tem as string'氣泡排序法,核心程式
for i = 1 to m - 1
for j = 1 to m - i
if (bobo(j) < bobo(j + 1)) then
tem = bobo(j)
bobo(j) = bobo(j + 1)
bobo(j + 1) = tem
end if
next j
next iend sub
2樓:匿名使用者
我用的是c#編寫的,環境是vs.net2005,framework2.0。using system;
using system.collections.generic;
using system.text; namespace cortext
public int getamixnum()//把輸入的數字轉換成能組成的最大數字}}
return (num[0] * 1000 + num[1] * 100 + num[2] * 10 + num[3]);
}public int getaminnum()//把輸入的數字轉換成能組成的最小數字}}
return (num[0] * 1000 + num[1] * 100 + num[2]*10+num[3]);
}public void calculate()
-=", getamixnum(), getaminnum(),getamixnum() - getaminnum());
readnumber = getamixnum() - getaminnum();
if (temp == readnumber)//判斷,如果得出的數字和上次的數字相同則退出
break;
temp = readnumber;}}
}class program
}}這是執行結果
什麼是「數字黑洞」?
3樓:最愛彩虹糖
1、數字黑洞是指某些數字經過一定的運算得到一個迴圈或確定的答案。比如黑洞數6174,隨便選一個四位數,如1628,先把組成的四個數字從大到小排列得到8621,再把原數1628的四個數字由小到大排列得到1268,用大的減小的:8621-1268=7353。
按上面的辦法重複,由大到小排列7353,得到7533,由小到大排列得到3357,大減小:7533-3357=4176,把4176再重複一遍,得7641-1467=6174。所以6174就是一個黑洞數字。
2、任取一個數,相繼依次寫下它所含的偶數的個數,奇數的個數與這兩個數字的和,將得到一個正整數。對這個新的數再把它的偶數個數和奇數個數與其和拼成另外一個正整數,如此進行,最後必然停留在數123。
例:所給數字 14741029
第一次計算結果 448
第二次計算結果 303
第三次計算結果 123
將三個數字的和乘以2,得數作為重組三位數的百位數和十位數;將原數的十位數字與個位數字的和(若得兩位數,再將數字相加得出和),作為新三位數的個位數。此後,再對重組的三位數重複這一過程,你將看到,必有一數墮落陷阱。
如,任寫一個數843,按要求,其轉換過程是:
(8+4+3)×2=30……作新三位的百位、十位數。4+3=7……作新三位數的個位數。組成新三位數307,重複上述過程,繼續下去是:
307→207→187→326→228→241→145→209→229→262→208→208→……
結果,208落入「陷阱」。
再如:411,按要求,其轉換過程是:
411→122→104→104→……
結果,104落入了陷阱。
假如將三位數按照下面的規則運算下去,同樣會出現數字「陷阱」。
(1)若是3的倍數,便將該數除以3。
(2)若不是3的倍數,便將各數位的數加起來再平方。
如:126
結果進入「169-256」的死迴圈,再也跳不出去了。
再如:368
結果,1進入了「黑洞」。
另有一種方法,可以把任何一個多位數,迅速地推入「陷阱」。
操作方法是:
第一步:數出多位數含有偶數(包括0)的個數,並以它作新數的百位數;
第二步:數出多位數含有奇數的個數,並以它作新數的十位數。
第三步:將位數所含數字作新數的個位數,組成新數後,對新數重複上述過程。
擴充套件資料
水仙花數黑洞
任意找一個3的倍數的數,先把這個數的每一個數位上的數字都立方,再相加,得到一個新數,然後把這個新數的每一個數位上的數字再立方、求和,......,重複運算下去,就能得到一個固定的數——153,我們稱它為數字「黑洞」。
例如:1、63是3的倍數,按上面的規律運算如下:
6^3+3^3=216+27=243,
2^3+4^3+3^3=8+64+27=99,
9^3+9^3=729+729=1458,
1^3+4^3+5^3+8^3=1+64+125+512=702
7^3+0^3+2^3=351,
3^3+5^3+1^3=153,
1^3+5^3+3^3=153,
2、3*3*3=27,
2*2*2+7*7*7=351,
3*3*3+5*5*5+1*1*1=153
...繼續運算下去,結果都為153,如果換另一個3的倍數,試一試,仍然可以得到同樣的結論,因此153被稱為一個數字黑洞。
除了0和1自然數中各位數字的立方之和與其本身相等的只有153、370、371和407(此四個數稱為「水仙花數」)。例如為使153成為黑洞,我們開始時取任意一個可被3整除的正整數。分別將其各位數字的立方求出,將這些立方相加組成一個新數然後重複這個程式.
除了「水仙花數」外,同理還有四位的「玫瑰花數」(有:1634、8208、9474)、五位的「五角星數」(有54748、92727、93084),當數字個數大於五位時,這類數字就叫做「自冪數」。
4樓:demon陌
一般限定從某些整數出發,反覆迭代後結果必然落入一個點或若干點的情況叫數字黑洞。
四位數黑洞6174
把一個四位數的四個數字由小至大排列,組成一個新數,又由大至小排列排列組成一個新數,這兩個數相減,之後重複這個步驟,只要四位數的四個數字不重複,數字最終便會變成 6174。
例如 3109,9310 - 0139 = 9171,9711 - 1179 = 8532,8532 - 2358 = 6174。而 6174 這個數也會變成 6174,7641 - 1467 = 6174。
任取一個四位數,只要四個數字不全相同,按數字遞減順序排列,構成最大數作為被減數;按數字遞增順序排列,構成最小數作為減數,其差就會得6174;如不是6174,則按上述方法再作減法,至多不過10步就必然得到6174。
如取四位數5679,按以上方法作運算如下:
9765-5679=4086 8640-4068=4572 7542-2457=5085
8550-5058=3492 9432-2349=7083 8730-3078=5652
6552-2556=3996 9963-3699=6264 6642-2466=4176
7641-1467=6174
數學中的123就跟英語中的abc一樣平凡和簡單。然而,按以下運算順序,就可以觀察到這個最簡單的數字
黑洞的值:
設定一個任意數字串,數出這個數中的偶數個數,奇數個數,及這個數中所包含的所有位數的總數,
例如:1234567890,
偶:數出該數數字中的偶數個數,在本例中為2,4,6,8,0,總共有 5 個。
奇:數出該數數字中的奇數個數,在本例中為1,3,5,7,9,總共有 5 個。
總:數出該數數字的總個數,本例中為 10 個。
新數:將答案按 「偶-奇-總」 的位序,排出得到新數為:5510。
重複:將新數5510按以上演算法重複運算,可得到新數:134。
重複:將新數134按以上演算法重複運算,可得到新數:123。
結論:對數1234567890,按上述演算法,最後必得出123的結果,我們可以用計算機寫出程式,測試出對任意一個數經有限次重複後都會是123。換言之,任何數的最終結果都無法逃逸123黑洞。
擴充套件資料:
任意找一個3的倍數,先把這個數字每一個數位上的數都立方,再相加,得到一個新數,然後把這個新數的每一個數位上的數再立方,求和……重複運算下去,就得到一個固定的數t=______,請分析其原理。
過程:t=153
數字黑洞問題是無法與哥德**猜想相比,懂一點數論基礎,就可以證明它。
這個數字黑洞問題早已經不是難題了,但要是題目嚴格證明起來1000個漢字以內是不夠的,還是麻煩!只是麻煩,但不是難題:
提供這個題的證明原理:
①如果一個數能被9整除,那麼這個數所有位上的數字之和是9的倍數。
如;81與8+1,144與1+4+4.
②如果一個數能被3整除,那麼這個數所有位上的數字立方之和是9的倍數。
③檢驗所有較小的數是否都有這個結論成立,(不論多少個數,它總歸是有限個,不超過3×9×9×9)
④對於較大數,把它按照,法則運算一次,它相當變小,看看是否落在③的範圍內……經過有限次運算,它落在③的範圍內。
⑤它落在③的範圍內,本題得證。
求四位數的數字密碼求一個四位數的數字密碼
一個四位數的數字密碼有很多,從0到9任意四個數字都排列組合成密碼,這就是你的祕密了!1314是個好記又有美好憧憬的密碼,就是太過簡單,容易讓人破解。數字密碼可以用自己的生日,紀念日,或者 號碼等的組合,或者自己的吉祥數字。密碼還是自己設定吧,不要求了。祝你好運 你自己密碼只有自己才能設,別人給你設密...
數字隨意組合的四位數中間可以有重複的數字
每個位置有4中可能 可重複 所以總共的有4 4 4 4 為256 嘻嘻,抄 我給你襲搞個monte carlo程式,你試試看 在matlab中執行 funfunction s zuhe p a ceil 4 rand p b ceil 4 rand p c ceil 4 rand p d ceil ...
從0,6,7,8,數字中任意提出數字組成四位數,可以組成幾個不同的四位數
4x4x3x2x1 96個 共5個數,任意4個數可組成 5 4 3 2 120個數 如果考慮一個0的影響,減去120 5 24,即96個 即 n個數,任內意x個數可容 組成x位數 n n 1 n 2 n x 1 從n到1的x個數相乘 從0,6,7,8,9這五個數字中任意選出4個數字組成一個四位數 同...