天文数的阶乘计算

合集下载

几个神奇的数字

几个神奇的数字

几个神奇的数字看似平凡的数字,我们把它从1乘到6看看142857 X 1 = 142857142857 X 2 = 285714142857 X 3 = 428571142857 X 4 = 571428142857 X 5 = 714285142857 X 6 = 857142同样的数字,只是调换了位置,反复的出现。

那么把它乘与7是多少呢?我们会惊奇的发现是999999关于其中神奇的解答“142857”它发现于埃及金字塔内,它是一组神奇数字,它证明一星期有7天,它自我累加一次,就由它的6个数字,依顺序轮值一次,到了第7天,它们就放假,由999999去代班,数字越加越大,每超过一星期轮回,每个数字需要分身一次,你不需要计算机,只要知道它的分身方法,就可以知道继续累加的答案,它还有更神奇的地方等待你去发掘!也许,它就是宇宙的密码┅┅142857×1=142857(原数字)142857×2=285714(轮值)142857×3=428571(轮值)142857×4=571428(轮值)142857×5=714285(轮值)142857×6=857142(轮值)142857×7=999999(放假由9代班)142857×8=1142856(7分身,即分为头一个数字1与尾数6,数列内少了7)142857×9=1285713(4分身)142857×10=1428570(1分身)142857×11=1571427(8分身)142857×12=1714284(5分身)142857×13=1857141(2分身)142857×14=1999998(9也需要分身变大)继续算下去……神奇的“缺8数”12345679,这个数里缺少8,我们把它称为“缺8数”。

一、清一色12345679×63=777777777。

10的阶乘计算方式

10的阶乘计算方式

10的阶乘计算方式阶乘是数学中常见的概念,特别是计算中经常用到的阶乘是以10为基数的阶乘。

阶乘是指从1乘到给定的数之间所有正整数的乘积。

例如,10的阶乘表示为10!,即10的阶乘等于1乘2乘3乘4乘5乘6乘7乘8乘9乘10。

要计算10的阶乘,可以通过逐步乘法来实现。

首先,将1乘以2,得到2;然后将2乘以3,得到6;接着将6乘以4,得到24;再将24乘以5,得到120;然后将120乘以6,得到720;接着将720乘以7,得到5040;再将5040乘以8,得到40320;然后将40320乘以9,得到362880;最后将362880乘以10,得到3628800。

通过逐步乘法计算10的阶乘可以清晰地展示每一步的计算过程,但在实际计算中,这种方法较为繁琐。

为了简化计算过程,可以利用阶乘的递推关系来计算10的阶乘。

阶乘的递推关系是指n的阶乘可以通过(n-1)的阶乘乘以n来计算。

因此,10的阶乘可以通过9的阶乘乘以10来计算。

而9的阶乘又可以通过8的阶乘乘以9来计算,以此类推。

利用阶乘的递推关系,可以写出一个递归函数来计算10的阶乘。

递归函数是指函数调用自身的过程。

在计算10的阶乘时,可以定义一个名为factorial的函数,该函数接受一个参数n,表示要计算的阶乘数。

当n等于1时,函数返回1,表示1的阶乘。

否则,函数返回n乘以factorial(n-1),表示n的阶乘。

通过递归调用,可以计算出10的阶乘。

除了递归函数外,还可以使用循环来计算10的阶乘。

循环是指在满足特定条件的情况下,重复执行一段代码的过程。

在计算10的阶乘时,可以定义一个变量result,并将其初始化为1。

然后,使用一个循环,从1遍历到10,将每个数乘以result,并将结果赋给result。

最终,循环结束时,result的值即为10的阶乘。

无论是递归函数还是循环,计算10的阶乘都可以得到相同的结果3628800。

这个结果表示10的阶乘是一个非常大的数。

高三阶乘知识点

高三阶乘知识点

高三阶乘知识点阶乘是数学中的一个重要概念,也是高三数学中的一项重要知识点。

在高三阶乘的学习中,我们需要了解阶乘的定义、性质以及应用。

本文将详细介绍高三阶乘知识点,以帮助同学们加深对该概念的理解。

一、阶乘的定义阶乘是指一个正整数n及小于等于它的所有正整数的乘积。

通常用n!表示,例如5!表示5的阶乘。

阶乘的计算公式为:n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1二、阶乘的性质1. 0的阶乘定义为1,即0! = 1。

2. 负整数没有阶乘的概念,只有非负整数才能进行阶乘运算。

3. 阶乘是不可交换的,即n! ≠ n × (n-1)!。

4. 阶乘的值以指数形式随着n的增大而迅速增加。

三、阶乘的计算方法计算阶乘有多种方法,包括直接计算、递归计算和循环计算。

1. 直接计算法:直接计算法是将阶乘的定义直接应用,按照公式逐步计算乘积。

例如计算5!时,可按照5 × 4 × 3 × 2 × 1的方式计算,最后得到结果120。

2. 递归计算法:递归计算法是将阶乘的计算问题转化为更小规模的相同问题。

即n!可以通过(n-1)!来计算。

例如计算5!时,可通过5! = 5 × 4!来计算,然后再通过4! = 4 × 3!依次递归计算下去,直到达到终止条件1! = 1,最后得到结果120。

3. 循环计算法:循环计算法通过循环迭代的方式计算阶乘。

具体做法是从1开始,逐步将结果乘以下一个数字,直到乘到n为止。

例如计算5!时,可以通过1 × 2 × 3 × 4 × 5的方式进行循环计算,最后得到结果120。

四、阶乘的应用阶乘在高三数学中有广泛的应用,其中一些重要的应用包括:1. 排列组合问题:在排列组合问题中,经常需要计算某个集合的排列数或组合数。

高中数学阶乘公式

高中数学阶乘公式

高中数学阶乘公式导读:我根据大家的需要整理了一份关于《高中数学阶乘公式》的内容,具体内容:阶乘公式是高中数学要学习的重要内容。

为了帮助高中学生掌握阶乘公式,下面我给大家带来数学阶乘公式,希望对你有帮助。

公式阶乘(factorial)是基斯顿卡...阶乘公式是高中数学要学习的重要内容。

为了帮助高中学生掌握阶乘公式,下面我给大家带来数学阶乘公式,希望对你有帮助。

公式阶乘(factorial)是基斯顿卡曼(Christian Kramp, 1760 1826)于1808年发明的运算符号。

阶乘,也是数学里的一种术语。

阶乘只有计算方法,没有简便公式的,只能硬算。

例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1×2×3× (6)得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是1×2×3×......×n,设得到的积是x,x就是n的阶乘。

任何大于1的自然数n阶乘表示方法:n!=1×2×3×......×n或n!=n×(n-1)!n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积如:7!!=1×3×5×7当n为偶数时表示不大于n的所有偶数的乘积(除0外)如:8!!=2×4×6×8小于0的整数-n的阶乘表示:(-n)!= 1 / (n+1)!以下列出0至20的阶乘:0!=1,注意(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,00019!=121,645,100,408,832,00020!=2,432,902,008,176,640,000另外,数学家定义,0!=1,所以0!=1!高中数学弧度公式在数学和物理中,弧度是角的度量单位。

阶乘数定理

阶乘数定理

阶乘数定理阶乘数定理是数论中的重要定理之一,它与阶乘数的性质密切相关。

在数学研究中,阶乘数是指一个正整数 n 的阶乘的末尾连续零的个数。

阶乘数定理探讨了阶乘数与正整数本身之间的关系,为解决数学问题提供了重要的思路和方法。

首先,我们来了解一下阶乘数的概念。

对于一个正整数 n,其阶乘可以表示为 n!,即将从 1 到 n 的所有正整数相乘得到的结果。

阶乘数的计算涉及到大数运算,通常需要利用高效的算法来进行计算。

在计算阶乘数时,我们会注意到末尾连续的零的个数。

这些零的个数被称为阶乘数。

其次,阶乘数定理研究了阶乘数与正整数本身之间的关系。

根据定理的表述,我们可以得出如下结论:阶乘数的个数等于正整数中因子5的个数。

换句话说,我们只需要统计正整数中因子5的个数,就能求得阶乘数。

这一定理的证明可以通过数学归纳法进行,它为我们解决相关问题提供了方便和快捷的方法。

阶乘数定理的应用广泛而深远。

在计算机科学领域,特别是在算法设计和性能优化方面,阶乘数定理经常被使用。

在计算机系统的计算能力有限的情况下,如果要求解某个数的阶乘数,利用阶乘数定理可以大大简化计算过程,提高计算效率。

此外,阶乘数定理也在数学推导中得到广泛应用,通过运用该定理,人们可以更加简洁地表达和推导数学问题,提升解题的效率和准确性。

总的来说,阶乘数定理是数论中的重要定理,它展示了阶乘数与正整数本身之间的紧密联系。

定理的发现和应用为数学领域的研究和应用提供了重要的理论基础。

通过理解和运用阶乘数定理,我们可以更好地解决相关的数学问题,提高计算效率,拓宽思维方式。

综上所述,阶乘数定理是一项重要的数论定理,其详细研究和应用有助于推动数学领域的发展和应用。

通过深入学习和理解该定理,我们可以为解决数学问题提供更多的思路和方法,同时也可以拓宽数学思维的广度和深度。

希望本文能够为读者提供准确而简洁的介绍和理解,引发对阶乘数定理的兴趣和进一步研究的动力。

高中阶乘公式总结大全12篇

高中阶乘公式总结大全12篇

高中阶乘公式总结大全12篇高中数学阶乘公式公式阶乘(factorial)是基斯顿卡曼(Christian Kramp, 1760 1826)于1808年发明的运算符号。

阶乘,也是数学里的一种术语。

阶乘只有计算方法,没有简便公式的,只能硬算。

例如所要求的数是4,则阶乘式是1234,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1236,得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是123n,设得到的积是x,x就是n的阶乘。

任何大于1的自然数n阶乘表示方法:n!=123n或n!=n(n1)!n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积如:7!!=1357当n为偶数时表示不大于n的所有偶数的乘积(除0外) 如:8!!=2468小于0的整数n的阶乘表示:(n)!= 1 / (n+1)!以下列出0至20的阶乘:0!=1,注意(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,00019!=121,645,100,408,832,00020!=2,432,902,008,176,640,000另外,数学家定义,0!=1,所以0!=1!高中数学弧度公式在数学和物理中,弧度是角的度量单位。

它是由国际单位制导出的单位,单位缩写是rad。

定义:弧长等于半径的弧,其所对的圆心角为1弧度。

(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。

当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。

大数阶乘算法

大数阶乘算法

*************************************(1)************************************ ****************假如需要计算n+16的阶乘,n+16接近10000,已经求得n!(共有m个单元),(每个单元用一个long数表示,表示1-100000000)第一种算法(传统算法)计算(n+1)! 需要m次乘法,m次加法(加法速度较快,可以不予考虑,下同),m次求余(求本位),m次除法(求进位),结果为m+1的单元计算(n+2)! 需要m+1次乘法,m+1次求余,m+1次除法, 结果为m+1个单元计算(n+3)! 需要m+1次乘法,m+1次求余,m+1次除法,结果为m+2个单元计算(n+4)! 需要m+2次乘法,m+2次求余,m+2次除法,结果为m+2个单元计算(n+5)! 需要m+2次乘法,m+2次求余,m+2次除法,结果为m+3个单元计算(n+6)! ...计算(n+7)! ...计算(n+8)! ...计算(n+9)! ...计算(n+10)! ...计算(n+11)! ...计算(n+12)! ...计算(n+13)! ...计算(n+14)! 需要m+7次乘法,m+7次求余,m+7次除法,结果为m+7个单元计算(n+15)! 需要m+7次乘法,m+7次求余,m+7次除法,结果为m+8个单元计算(n+16)! 需要m+8次乘法,m+8次求余,m+8次除法,结果为m+8个单元该算法的复杂度:共需:m+(m+8)+(m+1+m+7)*7=16m+64次乘法,16m+64次求余,16m+64次除法第二种算法:1.将n+1 与n+2 相乘,将n+3 与n+4 相乘,将n+5 与n+6...n+15与n+16,得到8个数,仍然叫做n1,n2,n3,n4,n5,n6,n7,n82. n1 与n2相乘,结果叫做p2,结果为2个单元,需要1次乘法。

高中数学阶乘公式

高中数学阶乘公式

阶乘(factorial)是基斯顿·卡曼(Christian Kramp, 1760 –1826)于1808年发明的运算符号。

阶乘,也是数学里的一种术语。

阶乘只有计算方法,没有简便公式的,只能硬算。

例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。

任何大于1的自然数n阶乘表示方法:n!=1×2×3×……×n或n!=n×(n-1)!n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积如:7!!=1×3×5×7当n为偶数时表示不大于n的所有偶数的乘积(除0外)如:8!!=2×4×6×8小于0的整数-n的阶乘表示:(-n)!= 1 / (n+1)!以下列出0至20的阶乘:0!=1,注意(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,00019!=121,645,100,408,832,00020!=2,432,902,008,176,640,000另外,数学家定义,0!=1,所以0!=1!。

阶乘是怎么算的

阶乘是怎么算的

阶乘是怎么算的讲述阶乘是计算一个数的乘积的方法,结果是一个长整数。

它可以有几种不同的写法,但是其原理基本如下:给定一个正整数n,求n阶乘表示为n!,即n! = 1×2×3×...×n。

例如,5阶乘表示为5!,即5! = 1×2×3×4×5 = 120。

阶乘是常用的计算方法,常见于数学表达式中,如阶乘表示采用数学符号n!,表示为n! = 1×2×3×4×...×n。

在计算机科学中,阶乘也有不同种类的应用,如用于求解某数的阶乘,用于求解对应的组合数或定积分等。

从数学上讲,阶乘可以用递归函数来表示,即设f(n) = n * f (n-1),这意味着求n阶乘只需通过计算f(n-1)值就可以求出n!。

例如,要计算 5!,只需求解出f(4),即4! = 24即可得到5! = 120。

Java语言实现阶乘的递归,可写入以下代码://并返回long型的结果public static long factorial(long num){//当我们计算到1时,终止计算if(num==1){return 1;}//通过递归调用计算更小的阶乘return num*factorial(num-1);}计算机中的阶乘也应用于实际问题,最常见的例子是抛硬币,抛n次硬币得到字母A到H,那么求出这种情况下字母ABCD...H出现的概率,应用阶乘即可求解。

例如,假设抛四次硬币,用A、B、C、D表示得到的正面或反面,那么得到ABCD的概率是怎样的呢?答案即为把相应的概率项目乘起来,有:P(ABCD)=P(A)P(B)P(C)P(D)其中,P(A)表示得到A的概率,P(B)表示得到B的概率,P(C)表示得到C的概率,P(D)表示得到D的概率,由于只有正反面,因此P(A) = P(B) = P(C) = P(D) = 1/2。

【推荐下载】高二数学阶乘公式

【推荐下载】高二数学阶乘公式

[键入文字]
高二数学阶乘公式
各科成绩的提高是同学们提高总体学习成绩的重要途径,大家一定要在平时的练习中不断积累,小编为大家整理了高二数学阶乘公式,希望同学们牢牢掌握,不断取得进步!
 正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。

 例如所要求的数是4,则阶乘式是1乘以2乘以3乘以4,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1乘以2乘以3乘以乘以6,得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是1乘以2乘以3乘以乘以n,设得到的积是x,x就是n的阶乘。

 任何大于1的自然数n阶乘表示方法:
 n!=1乘以2乘以3乘以乘以n
 或
 n!=n乘以(n-1)!
 n的双阶乘:
 当n为奇数时表示不大于n的所有奇数的乘积
1。

2019高一数学公式知识点:阶乘公式语文

2019高一数学公式知识点:阶乘公式语文

高一数学公式知识点:阶乘公式【】高中如何复习一直都是考生们关注的话题,下面是查字典数学网的编辑为大家准备的高一数学公式知识点:阶乘公式正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。

例如所要求的数是4,则阶乘式是1234,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1236,得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是123n,设得到的积是x,x就是n的阶乘。

任何大于1的自然数n阶乘表示方法:n!=123n或n!=n(n-1)!n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积如:7!!=1357当n为偶数时表示不大于n的所有偶数的乘积(除0外) 如:8!!=2468小于0的整数-n的阶乘表示:(-n)!= 1 / (n+1)!以下列出0至20的阶乘:0!=1,注意(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,00019!=121,645,100,408,832,00020!=2,432,902,008,176,640,000另外,数学家定义,0!=1,所以0!=1!考生们只要加油努力,就一定会有一片蓝天在等着大家。

以上就是查字典数学网的编辑为大家准备的高一数学公式知识点:阶乘公式。

tia 阶乘计算

tia 阶乘计算

tia 阶乘计算摘要:1.阶乘概念介绍2.阶乘的计算方法3.阶乘的数学应用4.阶乘在实际问题中的例子5.阶乘的近似计算6.总结正文:【1】阶乘概念介绍在数学领域,阶乘(factorial)是一种特殊的乘积,用符号“!”表示。

它表示从1乘到给定的正整数,即n! = 1 * 2 * 3 * ...* n。

例如,5! = 1 * 2 * 3 * 4 * 5 = 120。

需要注意的是,0! = 1,这是因为0乘以任何数都等于1。

【2】阶乘的计算方法计算阶乘有两种主要方法:递归和循环。

递归方法:```def factorial(n):if n == 0:return 1else:return n * factorial(n-1)```循环方法:```def factorial(n):result = 1for i in range(1, n+1):result *= ireturn result```【3】阶乘的数学应用阶乘在数学中有很多应用,例如:- 组合数:C(n, k) = n! / (k! * (n-k)!),表示从n个元素中选取k个元素的组合数量。

- 排列数:P(n, k) = n! / (n-k)!,表示n个人按照顺序排列的不同方式数量。

- 阶乘与自然对数的关系:ln(n!) ≈ ln(n) + ln(n-1) + ...+ ln(2) + ln(1) 【4】阶乘在实际问题中的例子例子1:计算组合数假设有一个班级共有100名学生,从中选取20名学生参加比赛,计算选取方式的组合数。

C(100, 20) = 100! / (20! * 80!) ≈ 1.3465688776例子2:计算排列数有5个人参加一场演讲比赛,计算第一个演讲者的选择顺序数。

P(5, 1) = 5! / (5-1)! = 120【5】阶乘的近似计算当阶乘较大时,可以使用斯特林公式(Stirling"s approximation)进行近似计算,公式如下:! ≈ √(2πn) * (n/e)^n其中,e ≈ 2.71828,π ≈ 3.14159。

【高一学习指导】高一数学公式总结:正整数阶乘

【高一学习指导】高一数学公式总结:正整数阶乘

【高一学习指导】高一数学公式总结:正整数阶乘高一数学公式总结:正整数阶乘正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。

例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。

例如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘。

例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。

任何大于1的自然数n阶乘表示方法:n!=1×2×3×……×n或n!=n×(n-1)!n的双阶乘:当n为奇数时表示不大于n的所有奇数的乘积如:7!!=1×3×5×7当n为偶数时表示不大于n的所有偶数的乘积(除0外)如:8!!=2×4×6×8小于0的整数-n的阶乘表示:(-n)!= 1 / (n+1)!以下列出0至20的阶乘:0!=1,注意(0的阶乘是存在的)1!=1,2!=2,3!=6,4!=24,5!=120,6!=720,7!=5,040,8!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,00017!=355,687,428,096,00018!=6,402,373,705,728,000 19!=121,645,100,408,832,00020!=2,432,902,008,176,640,000另外,数学家定义,0!=1,所以0!=1!感谢您的阅读,祝您生活愉快。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天文数的阶乘计算
在C语言里unsigned long int型的的整数的仅可表示0~4294967295之间的数,而12! = 479001600,13! = 6227020800。

可见,用unsigned long int型的整数做阶乘运算时最多只能计算到12的阶乘。

用函数double sqrt(double x)做开方算运算时,只能计算到16位有效数字。

long double型的实数虽然可表示10-4931~10-4932的数,但其有效数字也只有18~19位。

我编写了一个"天文数字计算"程序突破了这一限制,可以把数字的长度扩充到无穷多位。

除了能做加、减、乘、除、求模等基本运算外还可以做阶乘、乘方、开平方等运算。

例如:10000! = ?、(2002^2000)%9999 = 9394、2002的平方根的小数点后第10000位是4。

下面这个程序只是我用编写的"天文数字计算"里的一个计算。

因为在程序代码中使用了中文,所以这个程序如果不在中文DOS下运行,可能会出现乱码,但不影响程序的计算结果。

注:因为DOS能访问的内存有限,所以在DOS下可把计算结果扩充到30000多位。

但如果用VC把它编绎成Windows程序,则可以计算到"真正的无穷多位"(与机子配置有关),一般计算到几十万位是没有问题的。

/* 此程序在TC2.0、TC3.0,BC,VC下都可编绎 */
#define M 20000 /* 结果位数,DOS能访问的内存有限,不要超过 30000 位*/
#define N (M+5)
main()
{
int Num;
reGISter int i,j,k,flag;
register unsigned int n,m,pc;
unsigned char str_n[5],result_0[N],result_1[N];
void fun_print_result(char *result,int flag);
int fun_mul(char *a,char *b,char *c,int flag);
printf("输入计算其阶乘的数:Num = ");
scanf("%d",&Num);
if(Num >= 100)
{
printf( "\n正在进行阶乘运算. . .\n");
printf( "已完成 00000 的阶乘,请等待. . .");
}
for (j=0;j<N;j++)
{
result_1[j] = 0; result_0[j] = 0;
}
result_1[N-1] = 1;
for(i=0;i <5;i++)
{
str_n[i] = 0;
}
n = 1;
pc = 0; flag = N-1;
while (n <= Num)
{
m = n;
k = 4;
while(m > 0)
{
str_n[k] = m%10; m /= 10; k--;
}
if (pc%2 == 0)
{
if(fun_mul (str_n,result_1,result_0,flag) != 1) {
printf( "\n\n结果溢出!当前所设置的结果为 %d 位已完成 %d 的阶乘",M,pc); exit(0);
}
}
else
{
if(fun_mul (str_n,result_0,result_1,flag) != 1)
{
printf( "\n\n结果溢出!当前所设置的结果为 %d 位已完成 %d 的阶乘",M,pc); exit(0);
}
}
1 2。

相关文档
最新文档