为何题解代码100分
纪录 我的代码却60分(感觉没什么区别 我的代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
int c[1000000]={0},d=0,b=0,f=0,g=0,chuchun=0,chang=0;
cin>>d>>a>>f;
chang=a.size();
for(int i=0;i<chang;i++)
{
if(a[i]<'A')
{
b=pow(d,a.size()-i-1);
b=b*(a[i]-48);
chuchun=chuchun+b;
}
else
{
b=pow(d,a.size()-1-i);
b=b*(a[i]-'A'+10);
chuchun+=b;
}
}
while(1)
{
if(chuchun==0)
break;
c[g++]=chuchun%f;
chuchun/=f;
}
for(int i=g-1;i>=0;i--)
{
if(c[i]>=10)
cout<<c[i]+'A'-10;
else
cout<<c[i];
}
return 0;
}
题解代码
#include<bits/stdc++.h>
using namespace std;
string a;
int c[10000000],d,e,f,g,sum,ans;
int main()
{
scanf("%d",&d);
cin>>a;
scanf("%d",&f);
for(int x=0;x<a.size();x++){
if(a[x]<'A'){
e=pow(d,a.size()-x-1);
e*=(a[x]-'0');
sum+=e;
}
else{
e=pow(d,a.size()-1-x);
e*=(a[x]-'A'+10);
sum+=e;
}
}
while(sum>0){
c[g++]=sum%f;
sum/=f;
}
for(int x=g-1;x>=0;x--){
if(c[x]>=10)printf("%c",c[x]+'A'-10);
else printf("%d",c[x]);
}
return 0;
}
变量名都该得相同了。。。。