Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าค่าทศนิยมของเลขฐานแปด (Octal) หาร 7 ลงตัวหรือไม่ ใน Python


ปัญหา

ให้ตัวเลขในฐานแปด (Octal) ตรวจสอบว่าค่าทศนิยม (Decimal) ของมัน หาร 7 ลงตัวหรือไม่

ทฤษฎี

เลขฐานแปด: d_k d_{k-1} ... d_1 d_0 = Σ d_i × 8^i
เนื่องจาก 8 ≡ 1 (mod 7) → 8^i ≡ 1 (mod 7)
ดังนั้น ค่าทศนิยม mod 7 = Σ d_i (mod 7) = ผลรวมหลัก mod 7

ตัวอย่าง

Octal 61 → 6×8 + 1 = 49 → 49 mod 7 = 0 → True
ผลรวมหลัก = 6+1 = 7 → 7 mod 7 = 0 ✓

โค้ดตัวอย่าง

def solve(octal_num):
    digit_sum = 0
    while octal_num > 0:
        digit_sum += octal_num % 10
        octal_num //= 10
    return digit_sum % 7 == 0

print(solve(61))   # True (49 ÷ 7 = 7)
print(solve(123))  # False (83 ÷ 7 = 11.857...)

อินพุต / เอาต์พุต

Input:  61
Output: True