怎样计算“阶乘”?即从1开始的连续自然数相乘的积,如:1*2*3*4*5*6*7*8*9*……=?
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/08 07:39:01
怎样计算“阶乘”?即从1开始的连续自然数相乘的积,如:1*2*3*4*5*6*7*8*9*……=?
请告诉我计算“阶乘”的公式,再一步一步地仔细给我解释,我会很感谢的!
请不要说什么“N!”因为我知道这是阶乘的表达方法,但我不知道怎样计算啊。请说清楚哦!PLEASE !!
请告诉我计算“阶乘”的公式,再一步一步地仔细给我解释,我会很感谢的!
请不要说什么“N!”因为我知道这是阶乘的表达方法,但我不知道怎样计算啊。请说清楚哦!PLEASE !!
说实话,没有计算阶乘的公式,也没有简便方法,只是硬算,也可以运用计算机,可以计算到65!,如果你想计算跟大的数,我建议你上百度寻找计算阶乘的软件,听说多大的数都能计算出来.
还有这个参考:
由于阶乘运算的增长速度特别快(比2^n的增长速度快),对于较小整数的阶乘运算采用简单的递规算法可以实现,但是对于大整数的乘法(比如1000!),则传统的递规算法就失去了作用.
由于本人的水平不高,用下列拙劣的方式实现,请高人多多指教.具体如下:定义一个很长的数组,用数组的每一项表示计算结果的每一位.例如,7!=5040,a[1000],则a[0]=0,a[1]=4,a[2]=0,a[3]=5.
程序源代码:
/**
*计算大数的阶乘,算法的主要思想就是将计算结果的每一位用数组的一位来表示:如要计算5!,那么首先将
*(1) a[0]=1,然后a[0]=a[0]*2,a[0]=2,
*(2) a[0]=a[0]*3,a[0]=6
*(3) a[0]=a[0]*4,a[0]=24,此时a[1]=2,a[0]=4
*/
public class Factorial
{
static int a[] = new int [10000];
static void factorial(int n)
{
for(int i=2; i< a.length; i++)
a[i] = 0; //将数组元素初始化
a[0] = 1; //用数组的一项存放计算结果的位数
a[1] = 1; //将第一项赋值为一
for(int j= 2; j
还有这个参考:
由于阶乘运算的增长速度特别快(比2^n的增长速度快),对于较小整数的阶乘运算采用简单的递规算法可以实现,但是对于大整数的乘法(比如1000!),则传统的递规算法就失去了作用.
由于本人的水平不高,用下列拙劣的方式实现,请高人多多指教.具体如下:定义一个很长的数组,用数组的每一项表示计算结果的每一位.例如,7!=5040,a[1000],则a[0]=0,a[1]=4,a[2]=0,a[3]=5.
程序源代码:
/**
*计算大数的阶乘,算法的主要思想就是将计算结果的每一位用数组的一位来表示:如要计算5!,那么首先将
*(1) a[0]=1,然后a[0]=a[0]*2,a[0]=2,
*(2) a[0]=a[0]*3,a[0]=6
*(3) a[0]=a[0]*4,a[0]=24,此时a[1]=2,a[0]=4
*/
public class Factorial
{
static int a[] = new int [10000];
static void factorial(int n)
{
for(int i=2; i< a.length; i++)
a[i] = 0; //将数组元素初始化
a[0] = 1; //用数组的一项存放计算结果的位数
a[1] = 1; //将第一项赋值为一
for(int j= 2; j
怎样计算“阶乘”?即从1开始的连续自然数相乘的积,如:1*2*3*4*5*6*7*8*9*……=?
定义:从1开始的连续自然数的乘积叫做阶乘,如1乘2乘3乘4乘5乘6叫做6的阶乘,记作6!,又规定0!=1,试设计求任一自
从1开始的连续2009个自然数相乘的(1×2×3×……×2009)积末尾有几个0
1 开始的连续自然数相乘叫做阶乘.编写一个求n!的函数,调用此函数求:D=
已知从1开始连续n个自然数相乘,1*2*3*……*n乘积的尾部有35个连续的0,那n的最大值和最小值各是多少?
1的阶乘+2的阶乘+3的阶乘+4的阶乘……+100的阶乘
式子“1+2+3+4+5+…+100”表示从1开始的100个连续自然数的和.
计算并输出10的阶乘.10的阶乘=10*9*8*7*6*5*4*3*2*1 ( 用JAVA)
把若干连续自然数相加,从1开始.1+2+3+4+5……
应用递归思想,计算[1,100]内素数的阶乘之和,即计算2!+3!+5!+7!+……+89!+97!.
把从l开始的若干个连续的自然数1,2,3,…,乘到一起.已知这个乘积的末尾13位恰好都是0.请问:在相乘时最后出现的自然
1+2+3+4+5……98+99+100表示从1开始的100个连续自然数的和