假设我们有一个数字n和另一个数字k,我们必须检查n的奇数个位(从右侧到左侧)的位数之和是否可被k整除。
因此,如果输入类似n = 2416 k = 5,则输出将为True,因为从右到左的奇数放置数字之和为4 + 6 =10。这可以被5整除。
为了解决这个问题,我们将遵循以下步骤-
总数:= 0,位置:= 1
当n> 0时
总数:=总数+(n mod 10)
如果pos是奇数,则
n:=(n / 10)的商
pos:= pos + 1
如果将总数除以k,则
返回True
返回False
让我们看下面的实现以更好地理解-
def solve(n, k): total = 0 pos = 1 while n > 0: if pos % 2 == 1: total += n % 10 n = n // 10 pos += 1 if total % k == 0: return True return False n = 2416 k = 5 print(solve(n, k))
2416, 5输出结果
True