[ 재귀함수 이해하기 - 예문1 ] 다음 프로그램의 결과를 생각해 보세요
#include <cstdio>
void go(int);
int main()
{
int n;
go(1);
return 0;
}
void go(int x)
{
if(x > 10) return;
printf("%d ", x);
go(x+1);
printf("(%d) ", x);
}
[ 재귀함수 이해하기 - 예문2 ] 다음 프로그램의 결과를 생각해 보세요
#include <cstdio>
void go(int);
int main()
{
int n;
go(24);
return 0;
}
void go(int x)
{
if(x == 0) return;
printf("%d ", x);
go(x/2);
printf("(%d) ", x);
}
※ 위 예문을 이해해보고 다음 문제를 풀어보세요
[ 재귀함수 이해하기 - 문제 1 ] 다음과 같이 재귀함수를 이용해서 출력하시오
※ 안된다고 너무 쉽게 포기하지 말고 자꾸 해봐야 실력이 늘어요 하다 하다 정 안되면 아래 소스를 보면서 이해해보세요^^
[ 9-1번] 5 4 3 2 1 ==1== ==2== ==3== ==4== ==5== |
[ 9-2번] 1 2 3 4 5 ==5== ==4== ==3== ==2== ==1== |
[ 9-3번] 1 * 2 ** 3 *** 4 **** 5 ***** 5 ***** 4 **** 3 *** 2 ** 1 * |
[ 재귀함수 이해하기 - 문제 2 ] 다음과 같이 재귀함수를 이용해서 출력하시오
[ 9-4번] * *** ***** ******* ********* *********** *********** ********* ******* ***** *** * |
[ 9-5번] 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 3 * 9 = 27 3 * 8 = 24 3 * 7 = 21 3 * 6 = 18 3 * 5 = 15 3 * 4 = 12 3 * 3 = 9 3 * 2 = 6 3 * 1 = 3 |
[ 9-6번] ********** ********** ********** ********** ********** ########## ########## ########## ########## ########## |
[ 재귀함수 이해하기 - 문제 3 ] 다음과 같이 재귀함수를 이용해서 출력하시오
[ 9-7번] 1 3 5 7 9 10 8 6 4 2 |
[ 9-8번] ....1 ...22 ..333 .4444 55555 55555 .4444 ..333 ...22 ....1 |
[ 9-9번] 55555 .4444 ..333 ...22 ....1 ....1 ...22 ..333 .4444 55555 |
[ 9-3번 소스보기]
#include <stdio.h>
void go(int);
int main()
{
go(1);
return 0;
}
void go(int n)
{
if(n > 5) return;
printf("%d ", n);
for(int i=1;i<=n;i++)
printf("*");
printf("\n");
go(n+1);
printf("%d ", n);
for(int i=1;i<=n;i++)
printf("*");
printf("\n");
}
[ 9-8번 소스보기 ]
#include <stdio.h>
void rec(int);
int main()
{
rec(1);
return 0;
}
void rec(int n)
{
if(n>5) return;
for(int i=0;i<5-n;i++)
printf(".");
for(int i=0;i<n;i++)
printf("%d", n);
printf("\n");
rec(n+1);
for(int i=0;i<5-n;i++)
printf(".");
for(int i=0;i<n;i++)
printf("%d", n);
printf("\n");
}
'c언어 재귀함수' 카테고리의 다른 글
11. c언어 재귀함수 - 10진수를 2~16진수로 변환 (0) | 2020.06.19 |
---|---|
10. c언어 재귀함수 - 2진수로 변환 (0) | 2020.06.18 |
8. c언어 재귀함수 - 재귀함수 반복문처럼 사용하기 (0) | 2020.03.26 |
7. c언어 재귀함수 - 재귀함수 이해하기 (0) | 2020.03.26 |
6. c언어 재귀함수 - 경우의 수 (0) | 2020.03.25 |