10分其他全RE 求调 悬关
查看原帖
10分其他全RE 求调 悬关
1406613
LHW_Cosset_Idiot楼主2024/8/6 21:28
#include<bits/stdc++.h>
using namespace std;
int s[30201];//只要不爆不超时想开多打开多大 
int main()
{
	int n,m,t,sum;//sum是位数 
	cin>>n;
	for(int i=1; i<=n; i++){
		cin>>m;
		m++;
		memset(s,0,sizeof(s));//全部初值设0 
		int p=m/25;
		s[30200]=1;
		sum=30200;
		while(p--){
			for(int j=sum; j<=30200; j++){
				s[j]*=pow(2,25);
			}
			for(int j=30200; j>=sum; j--){
				s[j-1]+=s[j]/10;
				s[j]%=10;
				sum--;
			}
			while(s[sum]){
				s[sum-1]=s[sum]/10;
				s[sum]%=10;
				sum--;
			}
			sum++;
		}
		p=pow(2,(m%25));
		for(int j=sum; j<=30200; j++){
			s[j]*=p;
		}	
		for(int j=30200; j>=sum; j--){
			s[j-1]+=s[j]/10;
			s[j]%=10;
			sum--;
			while(s[sum]){
				s[sum-1]=s[sum]/10;
				s[sum]%=10;
				sum--;
			}
			sum++;
		}
		if(s[sum]>=3){
			cout<<s[sum]/3;
		}
		int c=s[sum]%3;
		for(int j=sum+1; j<=30200; j++){
			c=c*10+s[j];
			cout<<c/3;
			c%=3;
		}
		cout<<endl;
	}
	return 0;
}
2024/8/6 21:28
加载中...