在代码的第26行,不减去个0x600就不行,为啥子嘞?
#include<bits/stdc++.h>
using namespace std;
int charToInt(char c) {
if('0'<=c&&c<='9') return c-'0';
return c-'A'+10;
}
int main(){
ios::sync_with_stdio(0);
string S;
int h,x=16,a[105];
cin>>S>>h;
int len=S.size();
for(int i=len-1;i>=0;i--)
a[len-1-i]=charToInt(S[i]);
int ans=0,w=1;
for(int i=0;i<len+1;i++)
{
ans+=w*a[i];
w*=x;
}
for(int i=1;i<=5;i++)
{
for(int j=1;j<=i;j++)
{
printf("%x ",ans-0x600);
ans+=h;
}
cout<<endl;
}
return 0;
}
顺带提示:MD炸了