P1143进制转换
大佬们麻烦看下这道题
测试数据下载了没错
但是online judge就WA
下面是代码(本人太菜所以转了两次)\
#include <bits/stdc++.h>
using namespace std;
int num,cmp,len,i1,t,ans,prcmp,i;
int a[3800];
char c[4000],a2[1000010];
int main() {
scanf("%d\n",&cmp);
if(cmp<=10) {
scanf("%d",&num);
while(num>0) {
t=num%10;
ans+=pow(cmp,i1)*t;
num/=10;
i1++;
}
}
if(cmp>10&&cmp<17) {
gets(c);
len=strlen(c);
for(int i=0; i<len; i++) {
if(c[i]>47&&c[i]<58)a[len-i]=c[i]-'0';
else if(c[i]>='A'&&c[i]<='Z')a[len-i]=c[i]-55;
}
for(int i=1; i<=len; i++) {
ans+=pow(cmp,i1)*a[i];
i1++;
}
}
cin>>prcmp;
if(ans==0) {
cout<<"0";
return 0;
} else {
// cin>>prcmp;
// scanf("%d\n",&prcmp);
while(ans>0) {
if(ans%prcmp<10)a2[i]=ans%prcmp+'0';
else a2[i]=ans%prcmp+55;
ans/=prcmp;
i++;
}
for(i--; i>=0; i--) {
cout<<a2[i];
}
}
return 0;
}
谢大佬