20分,debug吧。
查看原帖
20分,debug吧。
1439700
wh_duyuhao楼主2024/10/13 09:06
#include<iostream>
#include<cmath>
using namespace std;
long long fn1(long long n,string k){
	long long ans=0;
	for(long long i=0;i<k.length();i++){
		long long t1=k[i],t2=k.length()-1-i;
		if(t1>=48 && t1<=90) t1=t1-48;
		else if(t1>=65 && t1<=90) t1=t1-55;
		else t1=t1-87;
		ans+=t1*pow(n,t2);
	}
	return ans;
}
string fn2(long long k,int m){
	string ans="";
	long long k1=k;
	long long k2=99999;
	while(k1>=m){
		k2=k1%m;
	    k1=k1/m;
	    char t = k2;
	    if(k2>=0 && k2<=9) t=t+48;
	    else t=t+55;
	    ans+=t;
	}
	char t2=k1;
	if(k1>=0 && k1<=9) t2+=48;
	else t2+=55;
	ans+=t2;
	string l="";
	for(long long i=ans.length()-1;i>=0;i--) l+=ans[i];
	return l;
}
int main(){
	string k;
	long long n,m;
	cin>>n>>k>>m;
	long long t=fn1(n,k);
	cout<<fn2(t,m);
	return 0;
}

42行代码,20分

2024/10/13 09:06
加载中...