20!までを考えるとint ではオーバーフローしてしまう。
long long intで対応
/********************
* 2012/03/22 *
* AOJ Volume0 0019 *
* Factorial *
* crane *
*********************/
#include<iostream>
using namespace std;
int main(){
int n = 0;
long long int result = 1;
while(cin >> n){
for(int i=1; i<=n; i++)
result *= i;
cout << result << endl;
}
return 0;
}
}
0 件のコメント:
コメントを投稿