我们知道任意进制转换为十进制,都是乘以基数的多少次方,然后相加;

十进制转换为任意进制,都是除以基数,然后倒着取余数;

所以这里是用十进制数中转,实现任意进制数的转换

#include<iostream>
#include<algorithm>
#include<math.h>
#include<stack>
#define ll long long
#define M 0x3f3f3f3f3f
using namespace std; ll change1(int r,string s)//r进制数转十进制数
{
ll len=,ans=;
while(s.length()!=len)
{
ans=ans*r;
if(s[len]>='A'&&s[len]<='Z')
ans=ans+s[len]-'A'+;
else
ans=ans+s[len]-'';
len++;
}
return ans;
} void change2(int r,ll x)//将十进制数x转化成r进制数
{
stack<int>p;
if(x==)//特判0
p.push(x); while(x)//x除以基数,然后倒着取余数,用栈恰好可以实现
{
p.push(x%r);
x=x/r;
}
while(!p.empty())
{
switch(p.top())
{
case :cout<<'A';break;
case :cout<<'B';break;
case :cout<<'C';break;
case :cout<<'D';break;
case :cout<<'E';break;
case :cout<<'F';break;//这些都是为了能转化为十六进制。还可以继续增加
default:cout<<p.top();break;
}
p.pop();
}
cout<<endl;
} void change3(int r,string s,int k)//将r进制数s转化成k进制数
{
ll temp=change1(r,s);
change2(k,temp);
} int main()
{
int r,k;
string s;
cin>>r>>k>>s;//将r进制数s转化成k进制数
change3(r,s,k);
return ;
}

(任意进制转换)将 r 进制数转成 k 进制数的更多相关文章

  1. C++进制转换(十进制转二进制、八进制、随意进制)

    十进制转二进制: //十进制转二进制 #include<iostream> using namespace std; void printbinary(const unsigned int ...

  2. 【C/C++】任意进制转换

    进制转换:R进制->10进制:10进制->R进制. #include<bits/stdc++.h> using namespace std; /*函数:r进制转换成10进制*/ ...

  3. lua之m进制转换为n进制-任意进制转换算法

    够无聊的写这个,为防止需要的人也无聊一遍,写个吧 算法有n种,但是,咱们一种就够用了 --数组倒序排列 local function orderByDesc( input ) local output ...

  4. EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】

    任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/ D. 进制转换 单测试点时限: 2.0 秒 内存限制: 256 MB “他觉得一个人奋斗更轻松自在 ...

  5. 暴力/进制转换 Codeforces Round #308 (Div. 2) C. Vanya and Scales

    题目传送门 /* 题意:问是否能用质量为w^0,w^1,...,w^100的砝码各1个称出重量m,砝码放左边或在右边 暴力/进制转换:假设可以称出,用w进制表示,每一位是0,1,w-1.w-1表示砝码 ...

  6. JS-011-颜色进制转换(RGB转16进制;16进制转RGB)

    在网页开发的时候,经常需要进行颜色设置,因而经常需要遇到进行颜色进制转换的问题,例如:RGB转16进制:16进制转RGB),前几天在测试的时候,发现网站的颜色进制转换某类16进制颜色(例如:#0000 ...

  7. JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)

    主函数类MainDemo.java package com.itcast.test20140109; import java.util.ArrayList; import java.util.Coll ...

  8. java中Integer包装类的具体解说(java二进制操作,全部进制转换)

    程序猿都非常懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往须要操作Integer,或者各种进制的转换等等.我今天就为大家具体解说一下Integer的使用吧.看代码: ...

  9. PAT Radix[二分][进制转换][难]

    1010 Radix (25)(25 分) Given a pair of positive integers, for example, 6 and 110, can this equation 6 ...

随机推荐

  1. Ansible - playbook - 概要

    概述 简单描述 ansible playbook 1. playbook 概述 ansible 的 "脚本" 场景 ansible 单条命令, 执行一个操作 问题 如果执行多个操作 ...

  2. MySQL多表创建关联及操作

    外键 现在有两张表“分类表”和“商品表”,为了表明商品属于哪个 类别,通常情况下,我们将在商品上添加一列,用来存放分类的cid信息,此列成为外键. 此时,分类表 category 称作主表,cid 成 ...

  3. 转载:AAC编解码概述

    转自:http://www.cnblogs.com/gaozehua/archive/2012/05/03/2479960.html 编码概述 其整体AAC 编解码系统,如图所示,其编码流程概述如下: ...

  4. blog主题——马路

    blog主题,存储一下 css /************************************************** 第一部分:所有的模板都使用的公共样式.公告样式是为了更好的向前 ...

  5. Educational Codeforces Round 70 (Rated for Div. 2) 题解

    比赛链接:https://codeforc.es/contest/1202 A. You Are Given Two Binary Strings... 题意:给出两个二进制数\(f(x)\)和\(f ...

  6. 手码两万余字,SpringMVC 包教包会

    1. SpringMVC 简介 1.1 Spring Web MVC是什么 Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架, ...

  7. mac停靠栏动画

    MAC停靠栏 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...

  8. [vue学习] 卡片展示分行功能简单实现

    如图所示,实现简单的卡片展示分行功能. 分行功能较多地用于展示商品.相册等,本人在学习的过程中也是常常需要用到这个功能:虽然说现在有很多插件都能实现这个功能,但是自己写出来,能够理解原理,相信能够进步 ...

  9. Git的安装和使用(转载)

    转载博客连接:https://www.cnblogs.com/qijunjun/p/7137207.html 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下Git的相关用法 ...

  10. Yii2框架 常用函数整合

    1.使用事务添加数据: public function create() { if($this->validate()) { $trans = Yii::$app->db->begi ...