大数——10000以内的阶乘

来源:互联网 发布:比特币矿池源码 编辑:程序博客网 时间:2024/05/06 01:50

刚开始看到这个题目的时候,无从下手,后来查了大数运算的原理,是使用数组来模仿大数的运算,可以做到大数的加,减,乘运算。

#define N 9999 int a[N * 5] = { 1 };int main(){    int num = N; int len = 1,temp=0,i;    for (; num;num--){        for (i = 0; i < len; i++){            a[i] = a[i] * num + temp;            temp = a[i]/10000;            a[i] = a[i] % 10000;        }        if (temp){            a[len++] = temp;            temp = 0;        }    }    for (; len;) cout << a[--len];}
0 0
原创粉丝点击