AOJ - Problem 0019 : Factorial
入力したnに対し、n!(nの階乗)を出力する問題です。
ただしnが20以下となっているので、int型の場合(long int型)は32bit(=4byte)なので
20!では大きすぎてオーバーフローしてしまうみたいです。
なので、long long int型(64bit)を使います。これなら20!でもオーバーフローしないので安心です。
#include <iostream> using namespace std; int main(){ long long int n, a = 1; cin >> n; for(int i=1 ; i<=n ; i++){ a *= i; } cout << a << endl; }