꼭 재귀호출을 이용해서 풀어야 하는 문제입니다.

재귀함수의 사용을 어려워하시는 분들은 이런 간단한 문제부터 조금씩 풀어보는게 분명 도움이 된다고생각합니다!


integer범위를 넘지않는 선에서 입력받아서 n의 m승을 구하면됩니다.

재귀함수는 짤 때 부터 함수를 종료하는 선언문을 먼저 작성하는게 좋은 습관입니다.


코드

#include<iostream>
using namespace std;
int func(int n, int m);
int main()
{
	int n, m, t;
	for (int i = 1; i <= 10; i++)
	{
		cin >> t;
		cin >> n >> m;
		cout << "#" << i << " ";
		cout << func(n, m) << endl;
	}
}
int func(int n, int m)
{
	if (m == 0)
		return 1;
	if (m == 1)
		return n;
	return n * func(n,m - 1);
}


+ Recent posts