2017-02-18 8 views
-7

正の整数が与えられると、その桁のそれぞれの順序を逆にし、反転された値を返します。つまり、入力が12345の場合は54321を返す必要があります。文字列演算または整数演算なしでwhileループを使用して数値を逆にする方法はありますか?

この関数では、組み込みの 'int'または 'str'関数を使用したり、文字列操作を行うことはできません。

ループを使用してこの問題を解決する必要があります。私はそれを解決した気にしない

import math 
def reverse_number(n): 
    sum = 0 
    n1 = n 
    while n1 > 0: 
     digit = round(math.log10(n1), 0) + 1 
     sum += math.floor((n1 % 10) * (10 ** (digit - 1))) 
     n1 = n1 // 10 
     sum = math.floor(round(sum, 0)) 
    return sum 
+1

あなたの宿題を自分で実行してください –

+0

宿題に疑わしい匂いがします。 –

+2

...それは何をしましたか?エラーを投げますか?予期しない値を返しますか? [mcve]を与える。 – jonrsharpe

答えて

0

は、これまでのところ、私はこれを試してみました。

import math 
def reverse_number(n): 
    sum = 0 
    n1 = n 
    while n1 > 0: 
     digit = math.floor(math.log10(n1)) // 1 
     extracted = math.floor(n1 % 10) // 1 
     sum += math.floor(extracted * (10 ** digit)) // 1 
     n1 = n1 // 10 
     sum = math.floor(round(sum, 0)) 
    return sum 
関連する問題