简便计算的0.6阶乘公式与101,要有许多等塞的题目怎么做?

阶乘怎么算?_百度知道
阶乘怎么算?
提问者采纳
如果要精确计算阶乘,阶乘没有什么简便方法,只能一个一个的往下乘。这也是为何要专门用一个!来表示阶乘。如果只想计算大概的值,可以用“ 斯特林公式” (请自行百度)。其实想想也很自然, 100!=1X2X3X...X10X11X12X...X20X21X...X99X100,从10以后,每乘一次,这个数就至少增加一位,所以这个数就是写出来,也至少是100位左右的数字,假设有的话,这个公式该多复杂。
提问者评价
其他类似问题
按默认排序
其他3条回答
//求K的阶乘int
if(k==1) return 1;
else return k*f(k-1)}
#include&stdio.h&main(){int a,b=1,c,sum=1;scanf(&%d&,&c);for(a=1;a&=c;a++)sum=a*printf(&阶乘=%d\n&,sum);}你输入几就是几的阶乘 。(我想你应该还没有学过函数!所以我用这种方法,后面也可以函数做。)
例如3!(3的阶乘) = 1乘2乘3;4! = 1*2*3*4,以此类推需要注意的是0的阶乘等于1。
阶乘的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁阶乘公式_百度知道
提问者采纳
真党的没有计算阶乘的公式的,也没有简便方法,只是硬算,也可以运用计算机,可以计算到65!,如果你想计算跟大的数,我建议你上百度寻找计算阶乘的软件,听说多大的数都能计算出来。 嘿!那个Q币的,怎么了?? ^_^ 还有这个参考: 由于阶乘运算的增长速度特别快(比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. i++) a[i] = 0; //将数组元素初始化 a[0] = 1; //用数组的一项存放计算结果的位数 a[1] = 1; //将第一项赋值为一 for(int j= 2; j &= j++) { int i=1; int c = 0; //c表示向高位的进位 for(; i &= a[0]; i++) { a[i] = a[i] * j +//将来自低位的计算结果和本位的结果相加 c = a[i] / 10; a[i] = a[i] % 10; } for(; c != 0; i++) { a[i] = c%10; c = c / 10; } a[0] = i - 1; } } public static void main(String[] args) { String num = args[0]; int count = 0; int n = Integer.parseInt(num); f(n); for(int i= a[0]; i&0; i--) { count++; System.out.print(/*&a[& + i + &]=& + */a[i]/* + & &*/); } System.out.println(&\n&+count); } } Trackback:
参考资料:
其他类似问题
阶乘的相关知识
按默认排序
其他2条回答
n!=n*(n-1)*(n-2)*......*1
n的阶乘=2的(n+1)次方-2
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁人才测评1-101(5)_一览文库
一览( 微信公众号:yilanshequ )
打开微信扫一扫,即可直接关注
当前位置: &
人才测评1-101(5)
人才测评1-101(5)
相关文档推荐
共30个文档积分:3200分
共49个文档积分:0分
共56个文档积分:1300分
共33个文档积分:1700分
猜你喜欢行家文档推荐
19321人查阅
19339人查阅
19247人查阅
19396人查阅
19603人查阅
19236人查阅
8666人查阅
9659人查阅
9373人查阅
9184人查阅
9599人查阅
9711人查阅
所需积分:0分用java程序写出15的阶乘怎么写啊 简单一些的_百度知道
用java程序写出15的阶乘怎么写啊 简单一些的
提问者采纳
public class Test { public static void main(String[] args) {
// long sum = 1;
BigInteger sum = BigInteger.valueOf(1);
for (int i = 1; i & 16; i++) {
sum=sum.multiply(BigInteger.valueOf(i));
System.out.println(sum); }}
还有简单点的写法吗 我是初学者看起来这个比较麻烦
可以这样想嘛:阶乘的公式是不是n(n-1)(n-2)...2*1,在程序里面能容纳这个的数的类型是int还是long,上面我用的是BigInteger。我用第一种方式:也就是循环 int sum=1;for(int i=1;i&16;i++){
sum=sum*i;}第二种方式用的是递归public int jiecheng(int i){if(i==1) return 1;else
i * jiecheng(i-1);}
提问者评价
谢谢有点明白了
其他类似问题
阶乘的相关知识
其他1条回答
递归和循环够可以,直接给代码就没意思了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 阶乘计算器 的文章

 

随机推荐