Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 a^b의 자릿수

<시간/>

숫자의 거듭제곱은 언어가 제공하는 반복 곱셈 또는 함수를 사용하여 계산할 수 있습니다. 간단합니다.

여기에서 우리는 승격 b를 찾아야 합니다. 그리고 결과의 자릿수입니다. 몇 가지 예를 살펴보겠습니다.

입력

a = 5
b = 2

출력

2

입력

a = 7
b = 6

출력

6

알고리즘

  • 숫자 및 b를 초기화합니다.
  • b 의 값 찾기 .
  • log10(n)의 한계는 숫자 n의 자릿수를 알려줍니다.
  • 찾아서 반납하세요.

구현

다음은 위의 알고리즘을 C++로 구현한 것입니다.

#include <bits/stdc++.h>
using namespace std;
int getDigitsCount(int a, int b) {
   return ceil(log10(pow(a, b)));
}
int main() {
   int a = 8;
   int b = 3;
   cout << getDigitsCount(a, b) << endl;
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

3