การหา Super Digit (รากดิจิตอล)
Super Digit คือผลรวมหลักของเลขทำซ้ำจนเหลือ 1 หลัก (Digital Root)
อัลกอริทึม
- s = 0 (ผลรวมสะสม)
- วนลูป while n > 0 หรือ s > 9:
- ถ้า n == 0: n = s, s = 0 (เริ่มรอบใหม่)
- s += n % 10 (บวกหลักสุดท้าย)
- n //= 10 (ตัดหลักสุดท้าย)
- คืนค่า s
ตัวอย่างโค้ด
def solve(n):
s = 0
while n > 0 or s > 9:
if n == 0:
n = s
s = 0
s += n % 10
n //= 10
return s
n = 513682
print(solve(n))
ผลลัพธ์
7
คำอธิบาย
513682 → 5+1+3+6+8+2 = 25 → 2+5 = 7
สูตรทางคณิตศาสตร์: Digital Root = 1 + (n-1) % 9 (ถ้า n > 0)