c++编程:求N的阶乘

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:25:26
我自己编了个程序,12之前的阶乘都是对的,12之后就不对,请各位高手指点

可能是因为12的阶乘太大了吧,超出了int 型数据的表示范围。可以改用unsigned long类型试一下。
如果想求更大的数的阶乘,则就不可以 了,这时可以应采用数组存储一个大的整数。这样就可以解决很大的数的阶乘问题。

13!已经超过整形限制范围,要用高精度算法才能对

int 整数类型只有 32767 负32767
long 的比较大

把变量的数据类型都改成long long型的(C++/CLI中),如果算法没问题,一定能行