数组法求大数阶乘

来源:互联网 发布:淘宝水星家纺怎么样 编辑:程序博客网 时间:2024/05/06 00:48
#include <iostream>#include <math.h>using namespace std ;//求大数阶乘 int main(){int n=0;//数量 cin>>n;int numbit[10000]={0};numbit[0]=1;numbit[1]=1;int talbi=1;//talbi+1=转换后位数 for(int i=1;i<=n;i++) {//每一位都与i相乘 for(int j=1;j<=talbi;j++){numbit[j]*=i;}//看每一位的数值大小 ,是否进位 for(int x=1;x<=talbi;x++){if(numbit[x]>=10){//如果最后一位>=10,位数加一 for(int t=1;t<=talbi;t++){if(numbit[talbi]>9){talbi++;}//下一位 numbit[t+1] +=numbit[t]/10;//当前为 numbit[t] %=10;}}}}for(int z=talbi;z>0;z--){cout<<numbit[z];}return 0;}


详情参考http://blog.csdn.net/tianzhaixing2013/article/details/23706217

0 0