int n = Convert.ToInt32(Console.ReadLine());
int factorial = 1;
for (int i = 1; i <= n; i++)
{
factorial *= i;
}
Console.WriteLine(factorial);
このコードはコンソール アプリケーションで実行されますが、数値が 34 を超える場合、アプリケーションは 0 を返します。
0 が返されるのはなぜですか? 大きな数の階乗を計算するにはどうすればよいですか?