C++中计算大数阶乘的较短代码

来源:互联网 发布:伊宁关键字排名优化 编辑:程序博客网 时间:2024/05/19 03:18
#include<iostream>using namespace std;int main(){    int a[100000];    int n;    cout << "请输入您想要的阶乘数" << endl;    cin >> n;    int i = 1;   //循环次数(n)    int k = 0;   //上一次的第几位数(j)    a[0] = 1;    int j = 1;   //位数    int l = 0;   //进位数    int term = 0;//临时数据    while (i <= n)    {        l = 0, k = 0;        for (; k < j; k++)        {            term = a[k] * i+l;            a[k] = term;            if (a[k] / 10 == 0)                l = 0;            if (term / 10 != 0)            {                a[k] = term % 10;                l = term / 10;            }        }        while (l >0)        {            a[j] = l % 10;            j++;            l =l/ 10;        }        i++;    }    for (int m = j-1; m >= 0; m--)        cout << a[m];}
欢迎大家来讨论