检查Python中偶数位的数字乘积是否可被数字奇数位的数字总和整除
假设我们有一个数字n,我们必须检查n的偶数位的数字乘积是否可被n的奇数位的数字和除。位置从右到左开始计数。最右边在第一个位置。
因此,如果输入类似于n=59361,则输出将为True(1*3*5)=(6+9)。
为了解决这个问题,我们将遵循以下步骤-
digit_count:=给定数字n的位数
总计:=0,产品:=1
当n>0时
总数:=总数+n的最后一位
prod:=prod*n的最后一位
如果digit_count是偶数,则
否则,
n:=(n/10)的商
digit_count:=digit_count-1
如果prod可被总整除,则
返回True
返回False
让我们看下面的实现以更好地理解-
范例程式码
from math import log10
def solve(n):
digit_count = int(log10(n))+1
total = 0
prod = 1
while n > 0 :
if digit_count % 2 == 0 :
prod *= n % 10
else:
total += n % 10
n = n //10
digit_count -= 1
if prod % total == 0:
return True
return False
n = 59361
print(solve(n))输入
59361输出结果
True
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下