检查任意大数字是否能被 17 整除 - Python


假设,我们获得一个数字,并且我们必须检查该数字是否被 17 整除。

因此,如果输入类似于 99943,则输出将为可整除。

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

要解决此问题,我们将遵循以下步骤 −

  • 当数字可被 100 整除时,执行
    • last_digit := number mod 10
    • number := number 除以 10 的向下取整值
    • number := number - last_digit * 5
  • 如果 number 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

更新日期:2020-12-30

577 人查看

开启您的 职业生涯

完成课程认证

开始
广告