Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra tích chữ số ở vị trí chẵn của số có chia hết cho K trong Python

Cho số n và k. Tính tích các chữ số ở vị trí chẵn (đếm từ phải, vị trí 1 là hàng đơn vị). Kiểm tra tích có chia hết cho k.

Ví dụ: n=59361, k=3 → vị trí chẵn: 6 (pos2), 9 (pos4) → tích=54 → chia hết 3 → True.

Thuật toán

  • Đếm số chữ số: digit_count = int(log10(n))+1.
  • prod=1. While n>0:
    • Nếu digit_count chẵn → prod *= n%10.
    • n //= 10, digit_count--.
  • Kiểm tra prod % k == 0.

Ví dụ code

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 //= 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