Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem tổng các chữ số ở các vị trí lẻ của một số có chia hết cho K trong Python hay không

Giả sử chúng ta có một số n và một số k khác, chúng ta phải kiểm tra xem tổng các chữ số của n tại đó là số lẻ (từ vế phải sang vế trái) có chia hết cho k hay không.

Vì vậy, nếu đầu vào là n =2416 k =5, thì đầu ra sẽ là Đúng vì tổng các số lẻ được đặt từ phải sang trái là 4 + 6 =10. Số nào chia hết cho 5.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • tổng:=0, pos:=1
  • while n> 0, do
    • nếu pos là số lẻ, thì
      • tổng số:=tổng số + (n mod 10)
    • n:=thương số của (n / 10)
    • pos:=pos + 1
  • nếu tổng chia hết cho k thì
    • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Mã mẫu

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))

Đầu vào

2416, 5

Đầu ra

True