首页 > 代码库 > python3求四位磁力数
python3求四位磁力数
1 def split (n, numberlist): 2 numberlist.clear() 3 while (n > 0): 4 mod = n % 10 5 n = int( n / 10 ) 6 numberlist.append(mod) 7 8 def bubbleSort (numlist, len): 9 for i in range(len): 10 for j in range(len-i-1): 11 if numlist[j] < numlist[j+1]: 12 tmp = numlist[j] 13 numlist[j] = numlist[j+1] 14 numlist[j+1] = tmp 15 16 def reverse(a, k): 17 for i in range(int(k/2)): 18 t = a[i] 19 a[i] = a[k-1-i] 20 a[k-1-i] = t 21 22 def combine(a, k): 23 m = a[3] + a[2] * 10 + a[1] * 100 + a[0] * 1000 24 return m 25 26 inputStr = input(‘输入一个数字完全不相同的四位数字(1000·9999)‘) 27 length = len(inputStr) 28 if length != 4: 29 print("input number is invalid") 30 exit() 31 inputNumber = eval(inputStr) 32 tarNumber = 6174 33 numberlist = [] 34 while(inputNumber != tarNumber): 35 split(inputNumber, numberlist) 36 bubbleSort(numberlist, length) 37 maxNum = combine(numberlist, length) 38 reverse(numberlist, length) 39 minNum = combine(numberlist, length) 40 inputNumber = maxNum - minNum 41 print(‘%d-%d=%d/n‘ % (maxNum, minNum, inputNumber))
任意给一个数字不全相同的n位数,经有限次“重排求差”操作(“重排求差”操作即把该数的数字重排后得到的最大数减去重排后得到的最小数)最终的运算结果总会得到同一或同一些n位整数,这类整数好像所有n位整数的核心一样,具有很强的磁性,能够吸引其它n位整数,故这类整数为磁力数。
python3求四位磁力数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。