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 件のコメント:
コメントを投稿