最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python編程算法【二十八】黑洞數(shù)

2022-11-30 09:58 作者:SPC編程愛好者  | 我要投稿

【案例內(nèi)容】

黑洞數(shù)又稱陷阱數(shù),是指任何一個(gè)數(shù)字不全相同的三位正整數(shù),在經(jīng)過有限次的“重排求差”操作后,總會(huì)得到495這個(gè)數(shù)。那么495就是黑洞數(shù)。所謂“重排求差”操作,是將組成一個(gè)數(shù)的各位數(shù)字,重新排列后,總會(huì)得到一個(gè)最大數(shù)和最小數(shù),將最大數(shù)減去最小數(shù)。比如,對(duì)三位數(shù)207進(jìn)行“重排求差”操作: 第1次重排求差得:720 - 027 = 693; 第2次重排求差得:963 - 369 = 594; 第3次重排求差得:954 - 459 = 495; 此時(shí),再進(jìn)行“重排求差”,都會(huì)停留在495這一黑洞數(shù)。 請(qǐng)用編程求三位數(shù)的黑洞數(shù)。


【解題思路】

根據(jù)"黑洞數(shù)"的定義,對(duì)于任意一個(gè)數(shù)字不全相同的三位正整數(shù),經(jīng)過多次"重排求差"操作,最后的結(jié)果總會(huì)掉入一個(gè)黑洞數(shù)里,一旦結(jié)果是黑洞數(shù),那么無論再重復(fù)多少次的"重排求差",結(jié)果都是黑洞數(shù),比如三位數(shù)的黑洞數(shù)是495,一旦求得結(jié)果為495,無論再求幾次,結(jié)果依然是495。因?yàn)橛?、9、5三個(gè)數(shù)組成的最大數(shù)和最小數(shù),永遠(yuǎn)都是954和459,它們相減的結(jié)果也永遠(yuǎn)都是495。對(duì)于其他三位正整數(shù)而言,也是同樣的結(jié)果。因此495是三位數(shù)的黑洞數(shù)。

針對(duì)本題,我們可以再次導(dǎo)入itertools包里的permutations文件,利用它可以很方便的獲得任何str型的不同排列情況,拿到所有排列情況后,再將它們重新組合成數(shù)字,并存入列表中,接著通過max()和min()函數(shù)即可得到最大值和最小值,兩者相減就是"重排求差"的結(jié)果,最后循環(huán)比較,如果結(jié)果等于495,即可證明495是三位數(shù)的黑洞數(shù)。


【Python代碼】

523的黑洞數(shù)是495
890的黑洞數(shù)也是495

本題巧妙借助了itertools包里的permutations文件,可幫助我們快速找出字符數(shù)字的各種排列的情況。只要找到了所有排列情況,后面的重排求差就容易進(jìn)行,只需利用join()函數(shù)、max()函數(shù)及min()函數(shù),就能方便得出最大數(shù)與最小數(shù)的求差結(jié)果,同時(shí)別忘了字符轉(zhuǎn)數(shù)字。

Python編程算法【二十八】黑洞數(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
宿松县| 易门县| 桓仁| 布拖县| 迁安市| 平山县| 南阳市| 卢湾区| 清镇市| 布尔津县| 宁安市| 乌兰察布市| 泌阳县| 固安县| 中宁县| 黄陵县| 漳浦县| 沙洋县| 南召县| 丰县| 澄城县| 琼结县| 榆树市| 壶关县| 淳化县| 岳阳市| 丰县| 武清区| 米泉市| 五河县| 比如县| 石狮市| 伊宁市| 乌拉特前旗| 延寿县| 饶平县| 都昌县| 比如县| 江阴市| 岳阳市| 裕民县|