CPU烧了
查看原帖
CPU烧了
1285536
zhao__sd楼主2024/7/19 09:37
//这个代码该怎么改?
//求助大佬
#include<bits/stdc++.h>
using namespace std;
int sb(char g){
	if(g=='A')return 10;
	if(g=='B')return 11;
	if(g=='C')return 12;
	if(g=='D')return 13;
	if(g=='E')return 14;
	if(g=='F')return 15;
	else return int(g-48);
}
char sb1(int g){
	if(g==10)return 'A';
	if(g==11)return 'B';
	if(g==12)return 'C';
	if(g==13)return 'D';
	if(g==14)return 'E';
	if(g==15)return 'F';
	return g;
}
int ws(int n,int b){
	if(n==0)return 1;
	for(int i=0;i<n-1;i++){
		b*=b;
	}
	return b;
}
const int N=1000010;
int a[N];
string s;
int main(){
	int n,m;
	cin>>n>>s>>m;
	int num=0;
	for(int i=0;i<s.size();i++){
		if(n==10){
			num+=s[i]-48;
		}
		num+=sb(s[i])*ws(i,n);
	}
	int j=0;
	while(num>0){
		a[j]=num%m;
		num/=2;
		j++;
	}
	for(int i=0;i<j;i++){
		if(a[i]>=10){
			cout<<sb1(a[i]);
			continue;
		}
		cout<<a[i];
	}
	return 0;
}
2024/7/19 09:37
加载中...