在 Python 中检查是否有任何大数可以被 19 整除

假设我们有一个很大的数字,我们必须检查这个数字是否能被 19 整除。

因此,如果输入像 86982,那么输出将是“可分的”。

我们将使用重复加法来解决这个问题,我们从数字中提取最后一位数字,将其乘以 2,并将结果与剩余数字相加,直到我们得到一个可以被 19 整除的两位数。

为了解决这个问题,我们将按照以下步骤操作 -

  • 当这个数能被 100 整除时,做

    • last_digit := 数字模 10

    • number := (number 除以 10) 的底值

    • number := number + last_digit * 2

  • 如果数字 mod 19 与 0 相同,则返回 True。

让我们看看以下实现以获得更好的理解 -

示例

def solve(number) :
   while(number // 100):
      last_digit = number % 10
      number //= 10
      number += last_digit * 2
   return (number % 19 == 0)
number = 86982
if solve(number) :
   print("Divisible")
else :
   print("Not Divisible")

输入

86982
输出结果
Divisible

猜你喜欢