สมมติว่าเรามีตัวเลข n เราต้องหาเลขซุปเปอร์หลักของเลขนี้ เลขซุปเปอร์หลักของตัวเลขหลักเดียวคือตัวเลขหลัก แต่สำหรับตัวเลขหลายหลัก super หลักคือผลรวมของตัวเลขทั้งหมดซ้ำๆ กันจนกว่าผลรวมจะเป็นตัวเลขหลักเดียว
ดังนั้น หากอินพุตเป็น n =513682 ผลลัพธ์จะเป็น 7 เพราะ (5+1+3+6+8+2) =25 (2 + 5) =7
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- s :=0
- ในขณะที่ n> 0 หรือ s> 9 ทำ
- ถ้า n เหมือนกับ 0 แล้ว
- n :=s
- s :=0
- s :=s + n mod 10
- n :=ค่าพื้น n/10
- ถ้า n เหมือนกับ 0 แล้ว
- คืนสินค้า
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
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))
อินพุต
513682
ผลลัพธ์
7