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

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

因此,如果输入像 99943,那么输出将是可整除的。

我们将使用重复减法来解决这个问题,我们提取数字的最后一位,然后从数字中减去 5 次,直到我们得到一个可以被 17 整除的两位数。

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

  • 而 number 可以被 100 整除,做

    • last_digit := 数字模 10

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

    • number := number - last_digit * 5

  • 如果数字 mod 17 与 0 相同,则返回 true。

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

示例

def solve(number) :
   while(number // 100):
      last_digit = number % 10
      number //= 10
      number -= last_digit * 5
   return (number % 17 == 0)
number = 99943
if solve(number) :
   print("Divisible")
else :
   print("Not Divisible")

输入

99943
输出结果
Divisible

猜你喜欢