首页 > 其他分享 >进制转换

进制转换

时间:2023-12-01 16:23:02浏览次数:33  
标签:cnt 转换 进制 int LL bbb string

进制转换

例题(P1143 进制转换)
思路:由 \(n\) 进制转为 \(10\) 进制,再转为 \(m\) 进制。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n,m;
string s;
LL cnt;
LL o = 0;
string c[20] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
LL bow(int d,int r){
    LL num = 1;
    for(int i = 1;i <= r;i++) num *= d;
    return num;
}
string tmp(LL o,LL m){
    string as = "";
    while(o > 0){
        int mod = o % m;
        o /= m;
        as.append(c[mod]);
    }
    return as;
}
int main(){
    scanf("%lld", &n);
    cin>>s;
    scanf("%lld", &m);
    cnt = 0;
    for(int i = s.length() - 1;i >= 0;i--){
    	LL bbb = bow(n , cnt);
        if(s[i] <= '9' && s[i] >= '0') o +=1ll * bbb * (int(s[i]) - 48);
        else o += 1ll* bbb * (int(s[i]) - 55);
        cnt++;
    }
    //o -> 10 JZ
	string aa = tmp(o,m);
	for(int i = aa.length() - 1;i >= 0;i--){
		cout<<aa[i];
	}
    return 0;
}

意义自明,不讲述。

\(END\)

标签:cnt,转换,进制,int,LL,bbb,string
From: https://www.cnblogs.com/wyl123ly/p/17869969.html

相关文章

  • 关系对转换为邻接矩阵
    importpandasaspdimportnumpyasnp#导入你的数据data=pd.read_csv('./yourdata.csv')vals=np.unique(data[['origin_x','origin_y']])#同时取出两列,作为节点df=pd.DataFrame(0,index=vals,columns=vals)f=df.index.get_indexerd......
  • 【C语言】【二级】将所指字符串中所有下标为奇数位置上的字母转换成大写
    题目请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFG",则应输出"aBc4EFG"。考点考点:指针、ASCII码、数组和循环语句。解法:通过循环语句依次判断数组下标为奇数的元素是否为小写字母......
  • 搭建订阅转换网站
    项目地址前端:https://github.com/CareyWang/sub-web后端:https://github.com/tindy2013/subconverter安装前端安装node.js和yarn需要先更新系统并安装Node.js和Yarn(ubuntu/debina为例,安装的是14.x版本,其他版本自行替换)aptupdate-ycurl-fsSLhttps://deb.node......
  • 【Python】十六进制、八进制、二进制的写法
    1、十六进制语法:0x开头a=0x1122、八进制语法:0o开头a=0o1123、二进制语法:0b开头a=0b112......
  • Python 将文本转换成语音
    #coding:utf-8#pipinstallpyttsx3importpyttsx3aspyttsxtext='Icanbecauseithinkican.逆境清醒Lifeisnotallroses.人生并不是康庄大道。'engine=pyttsx.init()engine.say(text)#engine.setProperty('rate',100)#设置语速#engine.setPr......
  • Git 文件状态的转换
     很好低使用git文件的状态转换的了解是非常重要的。文件转换状态其实可以分为四种:untracked:未跟踪,此文件在工作区中,但并没有加入git库,不参与版本控制。通过”gitadd”,”gitcommit”可将它置入跟踪库。unmodify:文件已经git库中,未修改,即版本库中的......
  • 类型转换demo05
    importcom.sun.security.jgss.GSSUtil;publicclassdemo05{publicstaticvoidmain(String[]args){inti=130;byteb=(byte)i;//内存溢出//类型转换byte(字节),short(较小范围整数类型),char(字符)->int(整数)->long(较大范围整数类型)->float(单精度......
  • 枚举类的values()方法 枚举类有一个values()方法,这个方法可以将枚举类转换成一个枚举
    枚举类的values()方法枚举类有一个values()方法,这个方法可以将枚举类转换成一个枚举类型的数组,转换成数组之后我们就可以通过下标来访问我们的枚举类中的值枚举类中的元素是无法通过下标值来访问的,如果你想指定访问枚举类中的某个值,你只能直接写出它们的值,除此之外,别无他法。但......
  • Windows下读文件二进制模式和文本模式的区别
    前段时间,碰到了一个奇怪的事情,我实现了一个读某文件的类,原本这个文件是以二进制写的,读的时候没太在意,将模式少写了一个“b”,变成了文本模式_tfopen_s(&pFile,m_file,_T("r"))测试了好些文件都没有问题,直到有一天,一同事反应读取函数有问题,数据被截断了。我看了半天,百思不得其......
  • ubuntu server 22 LTS 安装MySQL8(二进制源码方式)
    原作来源:https://github.com/aminglinux/daily_shell/blob/main/29.sh根据我自己情况稍作修改mysql下载地址:https://downloads.mysql.com/archives/community/ 按照顺序执行逐行执行注意执行过程的提示,报错需处理:tar-xvfmysql-8.0.34-linux-glibc2.17-x86_64.tarsudo......