这道题写了个高精度 但拿了零分 麻烦大神们看下 谢谢
#include<iostream>
#include<string>
#define SIZE 10005
using namespace std;
void converts(int *a,string s){
int i,len=s.size();
for(i=0;i<len;i++) a[i]=s[len-i-1]-'0';
for(;i<SIZE;i++) a[i]=0;
}
void sub(int *a, int b) {
for(int i=0; b || a[i]<0; b/=10, i++) {
if((a[i]-=b%10)<0) {
a[i+1]--;
a[i]+=10;
}
}
}
void mul(int *a, int b) {
for(int i=0,c=0; i<SIZE; i++){
c = c/10 + a[i]*b;
a[i]=c%10;
}
}
void print(int *a){
int i;
for(i=SIZE-1;i>0;i--) if(a[i]>0) break;
for(;i>=0;i--) cout<<a[i]; cout<<endl;
}
int x[SIZE];
int main() {
string s;
cin>>s;
if(s=="0"){
cout<<0;
return 0;
}
converts(x,s);
mul(x,2);
sub(x,1);
print(x);
return 0;
}