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

Kiểm tra xem tích các chữ số ở vị trí chẵn của một số có chia hết cho K bằng 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ích các chữ số ở vị trí chẵn của n có chia hết cho k hay không. Địa điểm được bắt đầu đếm từ phải sang trái. Đúng nhất ở vị trí 1.

Vì vậy, nếu đầu vào là n =59361, thì đầu ra sẽ là Đúng vì (1 * 3 * 5) chia hết cho 3.

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

  • digit_count:=số lượng chữ số của số n đã cho
  • prod:=1
  • while n> 0, do
    • nếu số_khoảng số là chẵn, thì
      • prod:=prod * chữ số cuối cùng của n
    • n:=thương số của (n / 10)
    • digit_count:=digit_count - 1
  • nếu sản phẩm 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

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

Đầu vào

59361, 3

Đầu ra

True