检查Python中的K是否可整除数字偶数位的数字积
假设我们有一个数字n,另一个数字k,我们必须检查n偶数位的数字乘积是否可被k整除。位置从右到左开始计数。最右边在第一个位置。
因此,如果输入类似于n=59361,则输出将为True,因为(1*3*5)可被3整除。
为了解决这个问题,我们将遵循以下步骤-
digit_count:=给定数字n的位数
产品:=1
当n>0时
prod:=prod*n的最后一位
如果digit_count是偶数,则
n:=(n/10)的商
digit_count:=digit_count-1
如果prod可被k整除,则
返回True
返回False
让我们看下面的实现以更好地理解-
范例程式码
from math import log10 def solve(n, k): digit_count = int(log10(n))+1 prod = 1 while n > 0 : if digit_count % 2 == 0 : prod *= n % 10 n = n //10 digit_count -= 1 if prod % k == 0: return True return False n = 59361 k = 3 print(solve(n, k))
输入
59361, 3输出结果
True