搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 【原创】大数的阶乘
标题:
【原创】大数的阶乘
只看楼主
tyzqqq
等 级:
新手上路
帖 子:2
专家分:0
注 册:2007-2-6
第
11
楼
得分:0
模拟公式
2010-05-07 10:29
xieshen947
等 级:
论坛游民
帖 子:58
专家分:65
注 册:2010-9-4
第
12
楼
得分:0
我有这样的想法多线程同时算
这边算a=1*......(5000)
b=5001*....(10000)
......
......
n=95000-100000
x=a*b*....*n
不过多线程在c#学过,现在不会了
2010-12-14 20:24
善ing
来 自:华东师范
等 级:
论坛游民
帖 子:34
专家分:19
注 册:2012-11-18
第
13
楼
得分:0
#include<stdio.h>
#define N 10000
int main()
{
long x,y,z,a[N],n,c;
{
while(scanf("%ld",&n)>0)
{
a[0]=1;
x=0;
for(y=1;y<=n;y++)
{
c=0;
for(z=0;z<=x;z++)
{
a[z]=a[z]*y+c;
c=a[z]/N;
a[z]%=N;
}
if(c>0)
{
x++;
a[x]=c;
}
}
// printf("%ld",a[x]);
for(y=x;y>=0;y--)
printf("%.4ld",a[y]); //补0!!
printf("\n"); //.4=lg(N);
}
return 0;
}
}
贴个精简代码,非原创
邂逅c (⊙o⊙)
2012-12-02 01:19
唐书豪
等 级:
论坛游民
帖 子:28
专家分:52
注 册:2013-5-10
第
14
楼
得分:0
我一直不知道这么大的数是怎样表示出来的,照理说用%d打不出这么多位数字吧,但是我的电脑输入9000运行后得到的数值个数是31682.
还有一个很纳闷的问题是,高精度的表示,用duble表示显示小数点后17位之前表示,17到518位都是0,再往后都是乱码。。。
2013-10-05 20:30
14
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-152507-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.729301 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved