哪位分享下大数阶乘的代码哈 ~~
RT~~ 我的那个算法太垃圾了,算10W的阶乘要21分钟呀!过些天弄出那个算法出来先! 只能跑1W的漂过 杭电1042 N! 的代码
#include <stdio.h>
#include <string.h>
#define MAX 100000
int main(void)
{
int a;
int n,i,len,j;
while (scanf("%d", &n) > 0)
{
memset(a,0,MAX);
a = len = 1;
for (i = 2; i <= n; ++i)
{
for (j = 0; j < len; ++j)
{
a *= i;
}
for (j = 0; j < len; ++j)
{
a += a/MAX;
a = a%MAX;
}
if (a)
++len;
}
printf("%d", a);
for (i = len-2; i >= 0; --i)
printf("%05d", a);
printf("\n");
}
return 0;
}
我是来膜拜楼上的
页:
[1]