有大佬指点一下吗。。。。。。运行没结果
查看原帖
有大佬指点一下吗。。。。。。运行没结果
846034
Starkiller123楼主2023/4/13 17:47
#include<cstdio>
#include<cstring>
using namespace std;
struct xu3{
	int v[1001];
}s[51];
int n,l;
int a[1001],b[1001],c[1001],xy[1001],xy1[1001];
int c1[1001],c2[1001],c3[1001];
void fs(int x){
	int i=0;
	while(x){
		++i;
		xy[i]=x%10;
		x/=10;
	}
}
void fs1(int x){
	int i=0;
	while(x){
		++i;
		xy1[i]=x%10;
		x/=10;
	}
}
void HPM(){
	for(int i=1;i<=20;i++)
		a[i]=xy[i];
	for(int i=1;i<=20;i++)
		b[i]=xy1[i];
	for(int i=1;i<=20;i++)
		c[i]=a[i]*b[i];
	for(int i=1;i<=21;i++)
		if(c[i]>=10){
			c[i+1]=c[i]/10;
			c[i]%=10;
		}
}
void HPA(int i){
	for(int j=1;j<=21;j++){
		c1[i]=s[i].v[i];
		c2[i]=s[i+1].v[i];
	}
	for(int k=1;k<=21;k++)
		c3[i]=c1[i]+c2[i];
	for(int i=1;i<=21;i++)
		if(c[i]>=10){
			c3[i+1]=c3[i]/10;
			c3[i]%=10;
			l=i+1;
		}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=i;j>=1;j--){
			if(j>1&&j<n){
				fs(i);
				fs1(i+1);
			}
			else{
				fs(j);
				xy1[1]=1;
			}
			HPM();
		}
		for(int k=1;k<=n;k++){
			for(int l=1;l<=21;l++)
				s[i].v[i]=c[i];	
		}
	}
	for(int i=1;i<=n;i+=2)
		HPA(i);
	for(int i=l;i>=1;i--)
		printf("%d",c3[i]);
	return 0;
}
2023/4/13 17:47
加载中...