求助TLE60分
查看原帖
求助TLE60分
1276811
Rain3721楼主2025/1/10 17:11
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
#define MAX 501
int a[MAX];
int p;
void checkmult(){
	for(int i=0;i<MAX-1;i++){
		if(a[MAX-i-1]>9){
			a[MAX-i-2]+=a[MAX-i-1]/10;
			a[MAX-i-1]%=10;
		}
	}
	a[0]=0;
}
int mult(){
	for(int i=0;i<MAX;i++) a[MAX-i-1]*=2;
	checkmult();
	return 0; 
}
void print(){
	printf("%d\n",(int)(log10(2)*p+1));
	for(int i=9;i>=0;i--){
		for(int k=49;k>=0;k--){
			cout<<a[MAX-i*50-k-1];
		}
		cout<<endl;
	}
}
int main(){
	cin>>p;
	for(int i=0;i<MAX;i++) a[i]=0;
	a[MAX-1]=1;
	for(int i=0;i<p;i++) mult();
	a[MAX-1]--;
	print();
	return 0;
}
2025/1/10 17:11
加载中...