1.进制转换
题目描述
将M进制的数X转换为N进制的数输出。
输入描述:
输入的第一行包括两个整数:M和N(2<=M,N<=36)。
下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。
输出描述:
输出X的N进制表示的数。
输入时字母部分为大写,输出时为小写,并且有大数据。
输入例子:
16 10
F
输出例子:
15
#include <bits/stdc++.h>//万能头文件
using namespace std;//C++固定文法
int main(){
string S;//声明字符串S
stack<char> T;//声明字符型栈T
for(int M,N,lm,i,j,c;cin>>M>>N>>S;cout<<endl)
{
//输入M,N,S,没有输入则输出
lm = S.length();//取S的长度设为lm
vector<int> V(lm,0);//声明整型向量V
for(i=0;i<lm;V[i]=(isalpha(S[i])?S[i]-'A'+10:S[i]-'0'),++i)//判断是否为字母,是则输出相对A的数值,否则输出相对0的数值
;//结束for循环,不执行操作
for(i=0;i<lm;V[i]?0:++i)
{
{
V[j]+=c*M;
c=V[j]%N;
V[j]/&