zoukankan      html  css  js  c++  java
  • python验证卡普耶卡(D.R.Kaprekar)6174猜想

    1955年,卡普耶卡(D.R.Kaprekar)4位数字进行了研究,发现一个规律:

    对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7

    以下为python代码验证

    a = input()
    a = int(a)
    i = 0
    l = []
    cha = 0

    b = a%1000                                 #求出百十个位
    max4 = (a - b)/1000                    #求出千位
    d = b%100                                  #求出十个位
    max3 = (b - d)/100                     #求出百位
    max1 = d%10                            #求出个位
    max2 = (d - max1)/10                #求出十位
    l.append(max4)
    l.append(max3)
    l.append(max2)
    l.append(max1)
    l.sort()
    max1 = int(l[0])                          #最小值
    max2 = int(l[1])
    max3 = int(l[2])
    max4 = int(l[3])                          #最大值

    while cha != 6174 :
        i = i + 1
        summax = max4 * 1000 + max3 * 100 + max2 * 10 + max1
        summin = max1 * 1000 + max2 * 100 + max3 * 10 + max4
        cha = summax - summin
        baishige = cha%1000                                                             #求出百十个位
        max4 = (cha - baishige)/1000                                                 #求出千位
        shige = baishige%100                                                            #求出十个位
        max3 = (baishige - shige)/100                                                #求出百位
        max1 = shige%10                                                                   #求出个位
        max2 = (shige - max1)/10                                                      #求出十位

        l = []                                                                                        #这个地方要把列表清零,当时没注意,在这调试了很长时间                                  
        l.append(max4)
        l.append(max3)
        l.append(max2)
        l.append(max1)
        l.sort()
        max1 = int(l[0])            #最小值
        max2 = int(l[1])
        max3 = int(l[2])
        max4 = int(l[3])            #最大值
        print(cha)    
        print(i)

    截图

  • 相关阅读:
    在android模拟器运行arm 移植的 c程序
    Android实现对c++方式调用
    Hdu 1003 Max Sum
    HDU 1005 Number Sequence
    poj 1222 EXTENDED LIGHTS OUT 高斯消元法
    分治算法
    HDU杭电acm题目分类大全
    HDU 1002 A + B Problem II 大数相加
    HDU 1004 Let the Balloon Rise
    phpcms栏目和专题的区分
  • 原文地址:https://www.cnblogs.com/liuzhaowei/p/10762418.html
Copyright © 2011-2022 走看看