高精度,50tps,tle,求调!
查看原帖
高精度,50tps,tle,求调!
907430
corner_xiejunqi楼主2024/8/27 10:40

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int n;
int a[N]; 
int main(){
	//1、声明变量,输入
	cin>>n;
	//2、计算过程
	int k=1;
	memset(a,0,sizeof a);
	a[1]=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=k;j++){
			a[j]*=2;
		}
		int len=k;
		if(a[k]>=10){
			k++;
		}
		for(int j=1;j<=len;j++){
			if(a[j]>=10){
				a[j+1]+=a[j]/10;
				a[j]%=10;
			}
		}
		
	}
	//3、输出
	cout<<k;
	for(int i=500;i>=3;i--){
		if(i%50==0){
			cout<<endl;
		}
		cout<<a[i];
	}
	if(a[1]>=1){
		cout<<a[2]<<a[1]-1;
	}else{
		cout<<a[2]-1<<a[1]+10-1;
	}
	return 0;
}
2024/8/27 10:40
加载中...