如何在没有字符串或整数操作的情况下使用 while 循环反转数字?

How to reverse a number using a while loop without string or integer operations?

给定一个正整数,将其每个数字的顺序颠倒,return 颠倒后的值。即如果输入是 12345,我需要 return 54321.

我无法使用内置的 '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

没关系我解决了。

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