40分,求助,怎么烩世呢
  • 板块B3617 古籍翻译
  • 楼主0LCH0
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/1/16 21:51
  • 上次更新2024/1/17 11:06:31
查看原帖
40分,求助,怎么烩世呢
1042158
0LCH0楼主2024/1/16 21:51
#include<bits/stdc++.h>
using namespace std;
int x,a[1000000],ans,n=1,b[100000],z;
string S; 
int ch(char c) {
    if('0'<=c&&c<='9') return c-'0';
    return c-'A'+10;
}
int main()
{
	cin>>S;
	x=8;
	z=16;
	int l=S.size();
	for(int j=l-1; j>=0; j--)
	{
		a[l-j-1]=ch(S[j]);
	}
	for(int j=0;j<l+1;j++){
        ans+=n*a[j];
        n*=x;
    }
    int i=1;
	while(ans>0)
	{
		b[i]=ans%z;
		ans/=z;
		i++;
	}
	for(int k=i-1; k>=1; k--)
	{
		if(b[k]<=9)
			cout<<b[k];
		else if(b[k] >= 10)
			cout<<char(b[k]-10+'a');
	}
	return 0;
}
2024/1/16 21:51
加载中...