Cho một số ở hệ bát phân (octa). Kiểm tra xem giá trị thập phân của nó có chia hết cho 7 hay không.
Ví dụ: 61 (bát phân) = 6*8 + 1 = 49 → chia hết cho 7 → True.
Đặc tính: Giá trị thập phân của số bát phân chia hết cho 7 khi và chỉ khi tổng các chữ số bát phân chia hết cho 7 (vì 8 ≡ 1 (mod 7)).
Giải thuật
- Tính tổng các chữ số của số bát phân.
- Nếu tổng chia hết cho 7 →
True.
Mã ví dụ
def solve(num):
sum_digits = 0
while num:
sum_digits += num % 10
num = num // 10
if sum_digits % 7 == 0:
return True
return False
num = 61
print(solve(num))
Đầu vào
61
Đầu ra
True