csp/j进制转换!!!

……


前言

点击关闭/展开(推荐查看完点击)

往下的内容依旧基本是课程截图,不过这次本来有演示视频,但是没找到,文字的话基本是介绍。

度过最基础阶段了


kk进制转1010进制

点击关闭/展开(推荐查看完点击)


1010进制转kk进制

点击关闭/展开(推荐查看完点击)


That is the end ?


kk进制转dd进制代码

点击显示/关闭代码部分
#include <bits/stdc++.h>
#define ll long long
int a[100005];
using namespace std;
int d(char c){
	if(c>='0'&& c<='9')
	return c-'0';
	else
	return c-'A'+10;
}
ll kto10(string s,int k){
	ll p=1,w=0;
	for(int i=s.size()-1;i>=0;i--){
		w+=d(s[i])*p;
		p*=k;
	}
	return w;
}
int main(){
	string s;
	int k;//根据题意,可自行修改或输入,如果是10进制转D进制那么这行可修改为K=10,其中k表示原本为几进制。
	long long h,d,y=0;//d表示转换为几进制,也可如上述一样自行修改或者输入
		cin>>s>>d;
		h=kto10(s,k);
	if(h==0){
		cout<<"0";
		return 0;
	}
	while(h){
		a[++y]=h%d;
		h/=d;
	}
	for(int i=y;i>=1;i--){
		if(a[i]<10)
			cout<<a[i];
			else{
				cout<<char(a[i]-10+'A');
			}
	}
	return 0;
}