这是我写的一个关于求阶乘的c++程序,但用vc++6.0和Code::Blocks编译出的结果不一样,小点儿的数的阶乘相同,但大些的数的阶乘就不一样了,而且100以上的数的阶乘都无法求出。请问该怎么办才能求出更大的数的阶乘?
#include<iostream>
using namespace std;
int main()
{
long int n;
cin>>n;
long int i=2;
long int f=1;
while(i<=n)
{
f*=i;
i++;
}
cout<<"factorial of"<<n<<"="<<f<<endl;
return 0;
}