文章
2
粉丝
21
获赞
0
访问
919
代码如下所示:
#include <bits/stdc++.h>
using namespace std;
void f(int n){
char out[1010];//存字符
int cnt=0;//下标
while(n>0){
int w=n%2;
if(w<10) out[cnt++]=w+'0';
else out[cnt++]=(w-10)+'A';
n/=2;
}
char in[1010];
int j=0;
for(int i=cnt-1;i>=0;i++)
{
in[j++]=out[i];
}
int ans=0;
int len=strlen(in);
for(int i=0;i<len;i++)
{
ans=ans*2;
if(in[i]>='0'&&in[i]<='9') ans+=in[i]-'0';
else ans+=in[i]-'A'+10;
}
printf("%d\n",ans);
}
int main() {
int a;
while (scanf("%d",&a)!=E...
登录后发布评论
注意审题,题目输入的数可能有1000位,所以不能用int来存储