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

Python을 사용하여 기본 K의 자릿수 합을 찾는 프로그램

<시간/>

십진수 시스템(10진법)의 숫자 n이 다른 값 k를 갖는다고 가정하고, 주어진 숫자 n을 밑수 10에서 밑수 k로 변환한 후 n의 자릿수의 합을 찾아야 합니다. 자릿수 합을 계산할 때 각 자릿수를 십진수(10진수)로 간주합니다.

따라서 입력이 n =985 k =8과 같으면 8진수의 숫자 985가 1731이므로 자릿수 합이 1+7+3+1 =12이기 때문에 출력은 12가 됩니다.

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

  • 답변 :=0

  • 동안 n>=k, 수행

    • ans :=ans + n mod k

    • n :=n/k의 몫

  • ans :=ans + n

  • 반환

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

예시

def solve(n, k):
   ans = 0
   while n>=k:
      ans = ans + n%k
      n = n//k
   ans = ans+n
   return ans
n = 985
k = 8
print(solve(n, k))

입력

985,8

출력

True