如何找到整数的中间值而不使用Python3将其转换为字符串?

时间:2016-04-06 01:20:34

标签: string python-3.x integer palindrome

在解决下一个smallest palindrome problem时,我不得不将整数转换为字符串,以便我可以反转并找到中间值。必须有一个解决方案 - 如何找到整数的中间值而不使用Python3将其转换为字符串?感谢您的帮助。谢谢。

示例:

  1. 输入= 78653,结果= 6
  2. 输入= 7564,结果= 5

1 个答案:

答案 0 :(得分:3)

这是一个开始。
它需要一些调整:

import math

def mid_digit(n):

    # num of digits
    a = math.trunc(math.log(n,10)+1)    

    # moving half of digits to the right of decimal point
    b = n / 10 ** round(a/2 + 0.5)

    # getting the left most decimal digit
    c = math.trunc(math.modf(b)[0] * 10) 

    return c