90求助!!!
查看原帖
90求助!!!
1111708
jcf666楼主2024/3/20 20:32
#include<bits/stdc++.h>
using namespace std;
string a;
int b[10005],l,r,cnt;
bool cmp(){
	string t;
	for(int i=0;i<a.size();i++){
		t.push_back(b[i]+'0');
	}
	return t.size()<a.size()||t.size()==a.size()&&t<=a;
}
int main(){
	cin>>a;
	r=a.size()-1;
	a="0"+a;
	a[a.size()-1]++;
	for(int i=a.size()-1;i;--i){
		if(a[i]>'9')a[i]='0',a[i-1]++;
	}
	if(a[0]=='0')a.erase(0,1);
	r=a.size()-1;
	while(l<=r){
		b[l]=b[r]=a[l]-'0';
		l++,r--;
	}
	if(cmp()&&a.size()>1){
		if(a.size()&1){
			int t=ceil(a.size()/2);
			b[t]++;
		}
		else{
			b[a.size()/2-1]++;
			b[a.size()/2]++;
		}
	}
	for(int i=a.size()-1;i;--i){
		if(b[i]>9)b[i]=0,b[i-1]++;
	}
	for(int i=0;i<a.size();i++){
		cout<<b[i];
	}
	return 0;
}

#4错了 第一次发求助帖子,好丢脸

2024/3/20 20:32
加载中...