Ye0ngJae

[CodeUp] 1566번 "함수로 거듭제곱 리턴하기" C언어 풀이 본문

알고리즘/C언어

[CodeUp] 1566번 "함수로 거듭제곱 리턴하기" C언어 풀이

Ye0ngJae 2022. 4. 12. 23:54
728x90

문제

int 형 자연수 두 개(a, n)를 입력 받아
거듭 제곱(exponentiation, a^n)한 결과 값을 출력하시오. 

단, 함수형 문제이므로 함수 pow()만 작성하여 제출하시오.

입력 예시

2 61

출력 예시

2305843009213693952

 

답안

더보기

코드

※ 다른 코드는 이미 작성되어 있고, 함수 부분만 작성해야 함

long long int pow(int a, int n){
	long long int num = 1;
	if (a == 1)
		return 1;
	for (int i = 1; i <= n; i++) {
		num *= a;
	}
	return num;
}

풀이

거듭제곱할 수 a, 몇 번 거듭제곱할 것인지를 지정하는 n을 입력받아 a를 n번 거듭제곱한 수를 return하는 문제입니다. 우선 a가 1일 경우 어떤 수를 제곱해도 결과 값은 1이기 때문에 a 값이 1로 입력 될 경우 바로 1을 return 하도록 작성하였습니다. 그리고 만일 a가 1이 아닐 경우 for문을 이용하여 num이라는 변수에 a를 i번 거듭제곱한 값을 저장하고 return하였습니다.

 

728x90