Notice
Recent Posts
Recent Comments
Link
개발 공부~
[SWEA D3] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 .py 본문
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제
다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라.
2 5 = 2 X 2 X 2 X 2 X 2 = 32
3 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729
총 10개의 테스트 케이스가 주어진다.
결과 값은 Integer 범위를 넘어가지 않는다.
- 입력
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 두 개의 숫자가 주어진다. - 출력
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.
Solution
재귀호출을 이용하여 구현 해야한다.
n의 m 거듭제곱의 값을 구하기 때문에 m은 n을 곱하는 횟수이므로 계산 함수이자 재귀함수인 cal의 인자로 받았다. m이 0이 되면 1을 곱하여 종료한다. m의 값이 작아지는 재귀함수를 구현하였다.
=> 재귀함수에서 끝나는 부분과 인자로 받는 부분이 중요하다. 이 문제는 간단하지만 앞으로 다양한 문제를 통해 재귀함수를 구현해야겠다.
def cal(n, m):
if m == 0:
return 1
else:
return n * cal(n, m-1)
for tc in range(1, 11):
tc = int(input())
n, m = map(int, input().split())
answer = cal(n, m)
print(f'#{tc} {answer}')
'코딩테스트 > SWEA' 카테고리의 다른 글
[SWEA D3] 1228. [S/W 문제해결 기본] 8일차 - 암호문1 .py (0) | 2024.07.08 |
---|---|
[SWEA D3] 1220. [S/W 문제해결 기본] 5일차 - Magnetic .py (0) | 2024.07.08 |
[SWEA D3] 1216. [S/W 문제해결 기본] 3일차 - 회문2 (파이썬) (0) | 2024.07.04 |
[SWEA D3] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2024.07.04 |
[SWEA D3] 1213. [S/W 문제해결 기본] 3일차 - String (파이썬) (0) | 2024.07.04 |