십진수 시스템(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