#include<iostream>
using namespace std;
#define T 10000
int main() {
int arr[T] = {1,};
int i,j;
int temp=0;
int m,fac;
char ch;
cout << "정수를 입력하세요" << endl;
cin >> fac;
for(i=1; i<=fac; i++) {
temp=0;
for(j=0; j<T; j++) {
arr[j]=arr[j]*i + temp;
temp=arr[j]/10000;
arr[j]=arr[j]-10000*temp;
}
}
i=T-1;
while(arr[i]==0)i=i-1;
cout << fac << "!은 "<<endl;
cout<<arr[i]; i-=1;
while(i>-1) { cout.fill('0'); cout.width(4); cout << arr[i]; i-=1;}
cout << " 입니다." << endl;
return 0;
}
위의 프로그램은 10000! (만 팩토리얼)까지를 구할 수 있습니다.
'c·c++ > c++ 프로그래밍' 카테고리의 다른 글
width, precision (0) | 2012.03.31 |
---|---|
버블정렬 이해하기 (0) | 2012.03.31 |
2진수에서 10진수로 바꾸기 (0) | 2012.03.21 |
Microsoft Visual C++ 2008 설치 오류 및 심각한 디렉토리 오류 (0) | 2012.03.18 |
입력버퍼 지우기 (0) | 2012.03.18 |