반응형

도전8. 2의 n승을 구하는 함수를 재귀적으로 구현해 보자. 그리고 그에 따른 적절한  main함수도 구현해보자.

 

재귀함수.. 입니다. 

n숫자를 입력받아 

*2를 하는 재귀함수를 그 횟수만큼 호출하면 됩니다. 

 

 

의사코드 

 

n을 입력 받아 

함수 mul(n)을 호출 

 n이 0이면 1 반환 

 아니면 2*f(n-1) 반환 

 

입니다.. 언뜻 의사코드만 보고는 이해가 안갈수도 있습니다. 

 

실제코드입니다. 

4~9번째줄까지 재귀함수 mul의 몸체입니다.

7~8번째 줄부터 보겠습니다. 맨처음에 3번째줄에서 mul(n)값이 들어오면, 2*mul(n-1)을 반환하면서 

즉 재귀호출을 하면서 2를 곱하고 n값을 1씩 줄여나갑니다. 그러다가 

n값이 0이 되면 5~6번째줄에 따라 재귀호출을 그만둡니다. 

결과적으로 리턴되는값은 2*2*2*2*2* ~n번 ~ *2*2*2*1 입니다. 

 

실행결과입니다. 

이상입니다.! 

 

이상으로 도전 프로그래밍 ONE을 마치고.... 

다음에는 TWO로 만나요!

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기