检查Python中的K是否可以将数字奇数位的数字和除

假设我们有一个数字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

    猜你喜欢