Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 숫자의 슈퍼 자릿수를 찾는 프로그램

<시간/>

숫자 n이 있다고 가정합니다. 이 숫자의 슈퍼 자릿수를 찾아야 합니다. 한 자리 숫자의 슈퍼 자리는 숫자 자체이지만 여러 자리 숫자의 경우 슈퍼 자리는 합이 한 자리 숫자가 될 때까지 반복적으로 모든 숫자의 합입니다.

따라서 입력이 n =513682와 같으면 (5+1+3+6+8+2) =25, (2 + 5) =7이기 때문에 출력은 7이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • s :=0
  • n> 0 또는 s> 9일 때 수행
    • n이 0과 같으면
      • n :=s
      • s :=0
    • s :=s + n 모드 10
    • n :=n/10의 하한값
  • 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

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