跪求大佬光临,30分求助!!!
查看原帖
跪求大佬光临,30分求助!!!
742265
andywoww楼主2022/8/5 17:08

想着用高精度加解决来着

#include<bits/stdc++.h>
#define ll long long
using namespace std;
char s[101];
char ba[202];//不要在意名字,没有那个意思
int s1[202];
int j=100;
int aa=0;
int main(){
    cin>>ba;
    int ac=strlen(ba)%2==1?strlen(ba)/2:strlen(ba)/2-1;//确认要截取的片段
    for(int i=0;i<=ac;i++){
        s[i]=ba[i];
    }
    for(int i=strlen(s)-1;i>=0;i--){
        s1[j]=s[i]-'0';
        j--;
    }
    j++;
    //for(int i=j;i<=100;i++)cout<<s1[i];
    s1[100]++;
    int lenb=j;
    for(int i=100;i>=j;i--){
        if(i==j&&s1[i]==10){
            lenb--;
        }
        if(s1[i]>9){
            s1[i]-=10;
            s1[i-1]++;
        }
    }
    int rlen=0;
    for(int i=lenb;i<=100;i++){
        cout<<s1[i];
        rlen++;
    }
    //依据原输入数据决定输出数字的长度
    //倒序输出
    if(strlen(ba)%2==0)for(int i=100;i>=lenb;i--)cout<<s1[i];
    else for(int i=99;i>=lenb;i--)cout<<s1[i];
    system("pause");
    return 0;
}
2022/8/5 17:08
加载中...