可以算,计算是没有问题的
但是 1000 的阶乘结果是个很大的数,应该是你的变量无法存储这个数据而报错,或者不报错但是运行结果不对
可以用其他替代方法处理
从算法上和程序实现上没有问题,但这个1000阶乘对一般单片机来说肯定要溢出的。
就是普通计算机都不好计算,而且估计你还是用的整数来表示吧,早就溢出啦!
32位无符号整数最大才4294967295,而20!就是2432902008176640000啦,所以你的程序不到20阶乘时已经溢出。