POST

c언어 2의n승의 결과 출력하기


2의n승의 결과 출력하기 사용자로부터 2의 몇승 까지의 값을 구할지 입력 받는다.




#include<stdio.h>

#pragma warning(disable:4996)

int result(int n, int num);  //함수의 원형 선언


int main(void)

{

int n;

int num = 2;  //2의 n승의 값을 저장할 변수

printf("2의 몇승을 구할까요? ");

scanf("%d", &n);

if (n == 0)  //0이 입력 된다면 결과가 1이기에 1을 출력한다.

printf("2의 %d승은 1입니다.\n", n);

else  //0이 아닐경우에만 실행 된다.

printf("2의 %d승은 %d입니다.\n", n, result(n, num));  //함수호출

return 0;

}

int result(int n, int num) //재귀함수.

{

num = num * 2;  //num에 2씩 곱한다 .

n--;

if (n == 0)  //조건에 만족하면 num/2의 값을 출력

return num / 2;  //2를 나누는 이유는 num의 초기값을 2로 하엿기 때문에 한번더 곱하는 격이된다.

result(n, num); // 함수 재호출

}