您的位置:首页 > 其它

阶乘精确值

2015-03-25 22:21 176 查看
#include <iostream>
#include <cstdio>
#include <cstring>
const int maxn = 3000;
int main()
{
	int str[maxn];
	int n;
	int k;
	printf("请输入n\n");
	scanf("%d",&n);
	memset(str,0,sizeof(str));
	str[0] = 1;
	for(int i=1;i<=n;i++)
	{
		int c=0;
		for(int j=0;j<maxn;j++)
		{
			int s = str[j] * i + c;
			str[j] = s % 10;
			c = s / 10;
		}
	}
	for(int j=maxn-1;j>=0;j--)
		if(str[j])  { k = j;break;}
	for(int i=k;i>=0;i--)
		printf("%d",str[i]);

	printf("\n");
	return 0;
}
这个我想了许久。就是按照每一个数乘以相应的数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: