Code/Code Tree

[Code Tree] 거듭제곱을 출력하는 함수

코-빗 2024. 2. 26. 20:37
728x90

정수 2개가 주어지면, 첫 번째 수를 두 번째 수만큼 거듭제곱하여 출력하는 프로그램을 값을 반환하는 재귀함수를 이용하여 작성해보세요.

입력 형식

첫 번째 줄에 2개의 정수가 공백을 사이에 두고 주어집니다.

  • 2 ≤ 주어지는 정수 ≤ 9

출력 형식

첫 번째줄에 주어진 숫자 중 첫 번째 수를 두 번째 수만큼 거듭제곱하여 출력합니다.

입출력 예제

예제1

입력:

3 9

출력:

19683

 

#include <iostream>

using namespace std;

int main() {
    unsigned long long int ret = 1;
    int n, m;
    cin >> n >> m;

    while(m--) ret *= n;

    cout << ret;
    return 0;
}

 

*출력의 최대값은 9 9 의 입력일 때, 최대값을 계산하기보다 넉넉한 메모리를 가진 형식자를 사용함

**재귀함수를 사용한 풀이

#include <iostream>

using namespace std;

unsigned long long int getNum(int n, int m){
    if(m == 1) return n;
    else return n * getNum(n, m - 1);
}

int main() {
    int n, m;
    cin >> n >> m;

    unsigned long long int ret = getNum(n, m);

    cout << ret;
    return 0;
}
728x90