|
C programming수업을 듣구 있는데요..
첫번째 과제루..(Turbo C를 이용하구여..)
임의의 값을 입력받아 n!을 구하는 건데여..
아직 배운게 별루 없어서여..제멋대루 함 짜봤는데..
이게..8!이 넘어가면 이상한 값이 나오네여..(음수나..0 등과같은..)
제가 한건..
#include<stdio.h>
int main(void)
{
int i, any_num;
printf("Type any number : n = ");
scanf("%d", &any_num);
if (any_num==0)
printf("n! = 1\n");
else
{
for(i=any_num-1; i>0; i--)
any_num *=i;
printf("n! = %d\n", any_num);
}
return 0;
}
이건데요...좀 무식해 보이긴 하지만... 나름대루 해봤는데..
혹시 변수타입때문인가 해서..unsinged나 long,, double로도 해봤는데..안되더군여..
왜 안되는건지..어떻게 하면 좀더 큰수까지 팩토리얼을 구할수있는지..
아주 큰수를 입력하면 결과가 이상할거 같긴 한데..8!부터 안되는건 좀 이상해서여..
그리고..또 어떻게 하면 좀더 예쁘게(깔끔하게) 짤수 있는지..조언부탁드릴께여..
감사합니다..^^
|