高精度阶乘代码纠错!!!!!!!!
  • 板块学术版
  • 楼主GuoZiXiao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/16 17:17
  • 上次更新2024/9/16 20:52:08
查看原帖
高精度阶乘代码纠错!!!!!!!!
1383020
GuoZiXiao楼主2024/9/16 17:17

各位大佬,求教!!!!

#include<bits/stdc++.h>
using namespace std;
string sans="1";
int c1,c2;
int a[205],b,c[205];
int t;
int n; 
string gjd (string s1,int b)
{
	string s2;
	s2=b;
	c1=s1.size();
	c2=s2.size();
	for(int i=0;i<c1;++i)
	{
		a[c1-i]=s1[i]-'0';
	}
	while(a[c1]==0&&c1>1)
	{
		--c1;
	}
	int cs=c1+s2.size();
	for(int i=1;i<=cs;++i)
	{
		c[i]=a[i]*b+t;
		t=c[i]/10;
		c[i]%=10;
	}
	while(t)
	{
		c[++cs]=t%10;
		t/=10;
	}
	while(c[cs]==0&&cs>1)
	{
		--cs;
	}
	for(int i=cs;i>=1;--i)
	{
		s2+=char(c[i]);
	}
	return s2;
}

int main ()
{
	cin>>n;
	for(int i=2;i<=n;++i)
	{
		sans=gjd(sans,i);
	}
	int cs=sans.size();
	for(int i=0;i<cs;++i)
	{
		cout<<sans[i];
	}
	return 0;
}
2024/9/16 17:17
加载中...