检查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

    以上是 检查Python中偶数位的数字乘积是否可被数字奇数位的数字总和整除 的全部内容, 来源链接: utcz.com/z/321260.html

    回到顶部