python楽しい数字

746 ワード

楽しい数字
説明
数値が「楽しい」かどうかを決定するアルゴリズムを作成します.楽しい数字は、1つの正の整数から、その各桁数の2乗の和でこの数に取って代わり、最後の数字が1に収束するか、1に等しいか、または無停止に循環し、最終的に1に収束しないまで、この過程を繰り返します.最終的に1に収束できる数が楽しい数字です.
例えば:19は楽しい数字で、計算過程は以下の通りです.
  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1

  • 楽しい数字を入力するとTrueを出力し、そうでなければFalseを出力します. 
     
    入力
    例1:19
     
    しゅつりょく
    例1:True
     
    def xj(n):
        list = [int(i)for i in str(n)]#            
        s = 0
        for i in range(0,len(list)):
            s = s + list[i]
        return s
    #        
    n = input()
    while xj(n)>=10:
            n = xj(n)
    else:
        if xj(n)==1:
            print('True')
        else:
            print('False')