본문 바로가기

C&C++_Basic/C_Function

표준 입력으로 받은 정수 n에 대하여 1부터 n까지의 합을 구하는 함수를 재귀함수로 작성하고, 합이 출력되도록 프로그램

#include<stdio.h>

int factorial (int number);
int main()
{	
	int input;
	 printf("정수를 입력하세요\n");
	 scanf("%d",&input);
	 
	 printf("1부터 입력한 정수까지 더한 결과는 %d입니다\n",factorial(input));
	 
	 
	return 0;
}

/* int factorial(int number)
{
	
	int i;
	int sum = 0;
		
	while(1)
	{
	
	
	if(number<0)
		printf("정수를 다시 입력하세요\n");
	else if(number ==0)
	{
		sum = 0;
		break;
	}
	
	else if(number ==1)
	{
		sum = 1;
		break;
	}
	
	else
	{
		for(i=1;i<=number;i++)
		{
			sum+=i;
		}
		break;
	}
	
		
	}// while 문에 대한 대괄호. 
	
	return sum ;
}  재귀함수 아닌 것에 대한 것 */   


int factorial(int number)
{
	if(number <= 1)
		return 1;
	else 
		return (number + factorial(number -1));
}