假设我们有一个很大的数字,我们必须检查这个数字是否能被 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