문제 설명
입력 받은 양의 정수의 팩토리얼(!)을 구하는 함수 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 습관화 필요