Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm siêu chữ số của một số trong Python

Giả sử chúng ta có một số n. Chúng ta phải tìm chữ số siêu hạng của số này. Siêu chữ số của số có một chữ số là chính chữ số nhưng đối với số có nhiều chữ số, siêu chữ số là tổng của tất cả các chữ số lặp đi lặp lại cho đến khi tổng là số có một chữ số.

Vì vậy, nếu đầu vào là n =513682, thì đầu ra sẽ là 7 vì (5 + 1 + 3 + 6 + 8 + 2) =25, (2 + 5) =7.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • s:=0
  • while n> 0 hoặc s> 9, do
    • nếu n giống 0, thì
      • n:=s
      • s:=0
    • s:=s + n mod 10
    • n:=giá trị sàn của n / 10
  • trả lại s

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

513682

Đầu ra

7