1-1 n! 구하기
문제설명
입력한 숫자의 팩토리얼을 재귀함수로 계산하는 프로그램을 작성하세요. 팩토리얼은 다음과 같이 계산합니다.
- 5! = 5 × 4 × 3 × 2 × 1
- 4! = 4 × 3 × 2 × 1
목표
- 종료 조건과 재귀 호출을 직접 작성할 수 있다.
- 재귀함수를 사용하여 반복되는 계산을 구현할 수 있다.
요구사항
- n!을 구할 n값을 입력받으세요.
- factorial() 함수를 재귀함수로 작성하세요.
- 입력값이 1이면 1을 반환하세요.
- 그렇지 않으면 자기 자신을 다시 호출하여 계산하세요.
- main()에서 factorial(5)를 호출하여 결과를 출력하세요.
출력예시
n값을 입력하세요:5
120
코드예시
1-2. 1부터 n까지 합 구하기
문제설명
정수 n을 입력받아 1부터 n까지의 합을 재귀함수로 계산하는 프로그램을 작성하세요. 예를 들어 n이 5이면 다음과 같이 계산됩니다.
1 + 2 + 3 + 4 + 5 = 15
목표
- 가장 기본적인 재귀함수를 직접 작성할 수 있다.
- 종료 조건과 자기 자신을 다시 호출하는 구조를 이해한다.
요구사항
- sum_recursive(int n) 함수를 작성하세요.
- n이 1이면 1을 반환하세요.
- 그렇지 않으면 n + sum_recursive(n - 1)을 반환하세요.
- main()에서 sum_recursive(5)를 호출하여 결과를 출력하세요.
출력예시
정수를 입력하세요:5
15
코드예시
1-3. 숫자 역순 출력하기
문제설명
정수 n을 입력받아 n부터 1까지의 숫자를 재귀함수로 출력하는 프로그램을 작성하세요. 예를 들어 n이 5이면 다음과 같이 출력됩니다.
5 4 3 2 1
목표
- 재귀함수에서 출력 위치에 따라 결과가 달라짐을 이해한다.
- 반환값이 없는 void 재귀함수를 작성할 수 있다.
요구사항
- print_reverse(int n) 함수를 작성하세요.
- n이 0이면 함수를 종료하세요.
- 그렇지 않으면 현재 숫자를 출력한 뒤 자기 자신을 호출하세요.
- main()에서 print_reverse(5)를 호출하세요.
출력예시
정수를 입력하세요:6
6 5 4 3 2 1
코드예시
'[1] 프로그래밍1 및 실습(C언어) > 6주차. 재귀함수, 배열' 카테고리의 다른 글
| [6주차][배열] 2단계 연습문제 (0) | 2026.04.09 |
|---|---|
| [6주차][배열] 1단계 연습문제 (0) | 2026.04.09 |
| [6주차][조건,분기,함수] 3단계 연습문제 (0) | 2026.04.06 |
| [6주차][조건,분기,함수] 2단계 연습문제 (0) | 2026.04.06 |
| [6주차][조건,분기,함수] 1단계 연습문제 (0) | 2026.04.06 |