【发布时间】:2015-08-22 05:32:51
【问题描述】:
6174 在印度数学家 D. R. Kaprekar 之后被称为 Kaprekar 常数[1][2][3]。这个数字值得注意的是以下属性:
取任意四位数字,至少使用两个不同的数字。 (允许前导零。) 将数字按降序排列,然后按升序排列,得到两个四位数,必要时添加前导零。 从较大的数字中减去较小的数字。 返回第 2 步。
达塔拉亚·拉姆钱德拉·卡普雷卡
number="0011"
print(" helo world, lets do this: " , number)
i = 0
while number != "6174":
sortedS = sorted(number)
String[] sortedString = array[4] av strangen number
reversed = sorted(number, reverse=True)
sortedIntMin = int(sortedS[0]+sortedS[1]+sortedS[2]+sortedS[3])
reversedIntMax = int(reversed[0]+reversed[1]+reversed[2]+reversed[3])
i += 1
number = str(reversedIntMax - sortedIntMin)
reversedIntMax - sortedIntMin
print("det behovdes " , i , "iterationer for processen")
这是我失败的尝试
def Kaprekar(number, i):
if number == 6174:
return
elif number != 6174:
sortedString = sorted(number)
reversedString = sorted(number, reverse=True)
sortedIntMin = int(sortedString[0]+sortedString[1]+sortedString[2]+sortedString[3])
reversedIntMax = int(reversedString[0]+reversedString[1]+reversedString[2]+reversedString[3])
num = reversedIntMax - sortedIntMin
print("processen kors", num )
return 1 + Kaprekar(str(num), i)
print(" helo world, lets do this: ")
print("det behovdes " , Kaprekar("1547", 0) , "iterationer for processen")
【问题讨论】:
标签: python recursion iteration