文章
34
粉丝
0
获赞
322
访问
5.9k
#include <bits/stdc++.h>
using namespace std;
int main(){
char s[2005],buf[3005];
int num[3005];
while(scanf("%s",s)!=EOF){
int len=strlen(s);
for(int i=0;i<len;i++){
num[i]=s[i]-'0';
}
int i=0,len_str=0;
while(i<len){
buf[len_str++]=num[len-1]%2+'0';
int c=0;
for(int j=i;j<len;j++){
int tmp=num[j];
num[j]=(num[j]+c)/2;
if(tmp%2==0) c=0;
else c=10;
}
if(num[i]==0) i++;
}
char result[3005]={'0'};
int res_len=1;//0
for(int j=0;j<len_str;j++){
int carry=0;
for(int k=0;k<res_len;k++){
int dight=(result[k]-'0')*2+carry;
result[k]=dight%10+'0';
carry=dight/10;
}
if(carry>0){
result[res_len]=carry+'0';
res_len++;
}...
登录后发布评论
暂无评论,来抢沙发