`
kmplayer
  • 浏览: 509827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求大数阶层

阅读更多
1,思想类似于大数的加减乘法.
数组的每个元素维护一个4位数.
2,实例代码:
#include<iostream>
using namespace std;

int a[10000];//保存结果
int m=0;//保存位数

void factorial(int n)
{
    memset(a,0,sizeof(a));
    a[0]=1;
    for(int i=1;i<=n;i++)
    {
        int c=0; //每次新的i,都要置零
        for(int j=0;j<=m;j++)
        {
            a[j]=a[j]*i+c;  //以四位数为单位分别与i进行相乘
            c=a[j]/10000; //四位之后的数
            a[j]=a[j]%10000; //保留前四位
        }
        if(c>0)
        {
            m++; //前进了一个四位
            a[m]=c;
        }
    }
}

int main()
{
    factorial(10);
    for(int i=m;i>=0;i--)
        cout<<a[i];
    cout<<endl;
    return 0;
}
分享到:
评论

相关推荐

    大数阶层VC版

    【大数阶层VC版】指的是一个使用VC++编程环境实现的大数处理系统,该系统可能包含处理大整数(超出常规整型范围)的算法和数据结构。在本课程设计中,学生通过实现中缀表达式到后缀表达式的转换以及后缀表达式的求值...

    C语言N阶层程序,满足大数的阶层

    ### C语言实现大数阶乘计算 #### 一、引言 在计算机科学与数学领域,阶乘(factorial)是一种常见的数学运算,通常表示为n!,定义为所有小于及等于n的正整数的乘积。对于较小的n值(如n ),阶乘的计算相对简单;但...

    求任意数的阶层(比如200)

    总的来说,求任意数的阶层是一个涉及大数运算和高效算法的问题。在编程中,我们需要选择合适的数据结构和算法来处理这个问题,同时考虑如何通过再封装来优化现有的大数库,以实现高效且准确的阶层计算。在实际应用中...

    链表方法实现大数值阶层运算

    实现大数阶层运算的关键步骤如下: 1. **读取输入**:从用户或文件中读取两个大数,通常以字符串形式表示。将每个数字转换为链表,链表的每个节点代表一个数字位。例如,数字12345的链表表示为5-&gt;4-&gt;3-&gt;2-&gt;1,其中...

    程序员计算器(支持大数)2014-02-15(0_1_2_10)

    可以计算3502的阶层。 大数表示方法: sign,intcount,decimalcount|num[PBigNum_ValueLength]。 sign: 符号。正数:sign=0; 负数:sign=1。 intcount: 整数个数。 decimalcount: 小数个数。 num: __int64数组,元素个数...

    程序员计算器(支持大数)

    最大能计算499的阶层。 大数表示方法: sign,intcount,decimalcount|num[PBigNum_ValueLength]。 sign: 符号。正数:sign=0; 负数:sign=1。 intcount: 整数个数。 decimalcount: 小数个数。 num: __int64数组,元素个...

    计算n的阶乘的一个方法,可以用多种形式输出的

    阶乘在数学中是一个非常基础且重要的概念,它在组合数学、...总之,计算n的阶乘涉及递归与循环两种算法,以及多种输出形式,包括各种进制转换和大数表示。掌握这些知识点对于理解数学和计算机科学的基本概念至关重要。

    简单计算器

    5. **结果显示**:计算结果显示在显示屏上,这通常涉及到字符串的格式化,以确保数值的正确显示,尤其是处理大数或小数时的精度问题。 6. **存储和历史记录**:一些高级计算器功能可能包含存储变量或保存历史计算...

    计算n!,能够算小于9999!,修改define可以无限计算

    在实现这个功能时,除了数组模拟计算,还可以考虑使用大数库,如GMP(GNU Multiple Precision Arithmetic Library)来处理大整数运算。这种方式可以有效地处理远远超过计算机常规数据类型范围的数字。 总的来说,...

    概率统计历史(简单).doc

    雅各布·伯努利的《 Ars Conjectandi》详细阐述了大数定律,而尼古拉斯·伯努利将概率应用于法律问题,丹尼尔·伯努利则将其应用到流行病学和保险学。 在同一时期,社会统计学也开始发展,尤其在英国,格兰特、佩蒂...

    最新社会保险-wren.pptx

    【社会保险知识详解】 社会保险是一种由政府主导的社会保障制度,旨在通过大数法则和互助共济,为全体公民提供基础性的养老、医疗、工伤、生育和失业...了解并正确参与社会保险,对每一个工薪阶层来说都是十分重要的。

Global site tag (gtag.js) - Google Analytics