-
[열혈강의 C]도전프로그래밍 ONE - 문제8Development/C 2013. 7. 25. 18:08반응형
문제 8. 2의 n승을 구하는 함수를 재귀적으로 구현해 보자. 그리고 그에 따른 적절한 main 함수도 구현해 보자. 참고로 재귀 함수의 구현이 처음에는 어려운 편이기 때문에 여기서는 쉬운 문제를 제시한 것이다(본문에 소개한 예제보다도 쉬운 문제다).
실행의 예 :
정수의 입력 : 8
2의 8승은 256
--------------------------------------------------재귀함수 구현-------------------------------------------------------
#include<stdio.h>
void SQUARE(int n);
int sum=1;
int main(void)
{
int n;
printf("정수입력: ");
scanf("%d",&n);
SQUARE(n);
return 0;
}
void SQUARE(int n)
{
if(n==0)
{
printf("결과값: %d\n",sum);
return;
}
sum=sum*2;
SQUARE(n-1);
}
실행결과(재귀함수 구현)
--------------------------------------------------------------------------------------------------------------------
----------------------------------------------------메인함수 구현-------------------------------------------------------
#include<stdio.h>
int main(void)
{
int n;
int a=1;
int sum=2;
printf("정수입력: ");
scanf("%d",&n);
if(n==0)
{
printf("2의 0승은 1\n");
}
else
{
for(int i=1; i<n; i++)
{
a*=2;
sum+=a;
}
printf("2의%d승은%d\n",n,sum);
}
return 0;
}
실행결과(메인함수 구현)
--------------------------------------------------------------------------------------------------------------------------------------
반응형'Development > C' 카테고리의 다른 글
[열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-2) (0) 2013.08.07 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-1) (0) 2013.08.07 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-1-3) (0) 2013.08.06 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-1-2) (0) 2013.08.01 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-1-1) (0) 2013.08.01 [열혈강의 C]도전프로그래밍 ONE - 문제7 (0) 2013.07.25 [열혈강의 C]도전프로그래밍 ONE - 문제6 (1) 2013.07.25 [열혈강의 C]도전프로그래밍 ONE - 문제5 (3) 2013.07.08 [열혈강의 C]도전프로그래밍 ONE - 문제4 (2) 2013.07.07 [열혈강의 C]도전프로그래밍 ONE - 문제3 (3) 2013.07.04