Home > Study > C Language > C task > [ex34] 팩토리얼(!)을 구하는 함수

[ex34] 팩토리얼(!)을 구하는 함수
Study Language

문제 설명


입력 받은 양의 정수의 팩토리얼(!)을 구하는 함수 parameter, return 모두 int
팩토리얼: 3! = 3 * 2 * 1
함수의 리턴타입이 왜 unsigned long long int 일까? 이 경우 몇까지의 팩토리얼 값을 구할 수 있을까?

#include <stdio.h>

unsigned long long int Factorial(int num)
{

}

void main(void)
{
	int value;
	scanf("%d", &value);
	printf("%llu\n", Factorial(value));
}

입력 예시


3

출력 예시


6

정답 코드


#include <stdio.h>

unsigned long long int Factorial(int num)
{
	int i;
	unsigned long long int answer = 1;

	for (i = 2; i <= num; i++)
	{
		answer *= i;
	}

	return answer;
}

void main(void)
{
	int value;
	scanf("%d", &value);
	printf("%llu\n", Factorial(value));
}

메모


printf 내부의 \n 습관화 필요