팩토리알에서 오버플로우 발생할 때
아쿠아리우스
2023.04.01
#includestdio.h
long main(void)
{
long n; //변수 n 선언
long start, factorial;
while(1)
{
factorial=1;
printf(15이하의 자연수 n을 입력하세요 : );
scanf(%d,&n);
for(start=1;start=n;start++)
{
factorial=factorial*start;
}
printf(n! = %d입니다., factorial);
}
return 0;
}
1~15 이하의 수를 입력해서 팩토리알값을 구해야하는데요
13 이상부터는 오버플로우가 발생하는데 어떻게 해결해야 하나요?
-
은율
long long int 로 변수를 선언해 보세요
-
들햇님
저도 궁금하네요;;ㅠ