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