[保研/考研机试] KY235 进制转换2 清华大学复试上机题 C++实现

news2024/12/24 9:55:55

题目链接:

KY235 进制转换2 icon-default.png?t=N6B9https://www.nowcoder.com/questionTerminal/ae4b3c4a968745618d65b866002bbd32

描述

将M进制的数X转换为N进制的数输出。

输入描述:

输入的第一行包括两个整数:M和N(2<=M,N<=36)。
下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。

输出描述:

输出X的N进制表示的数。

示例1

输入:

10 2
11

输出:

1011

备注:

注意输入时如有字母,则字母为大写,输出时如有字母,则字母为小写。

思路:

将M进制数转换为N进制数。可以先将数从M进制转换为十进制,再从十进制转换为N进制。对于本题,需要注意的是,进制大于10时,就要用字符来表示,而这需要实现字符与数字之间的转换。

求解十进制数x的k进制表示时,只需不断地对x求余(对k)、求商(除以k),即可由低到高依次得到各个数位上的数。反过来,要求由k进制表示的数字的十进制值时,需要依次计算各个数位上的数字与该位权重的积(第n位的权重为k"-1),然后将它们依次累加,即可得到该十进制值。

源代码:

#include<iostream>
#include<string>
#include<vector>
using namespace std;

//例题6.4 进制转换2
//将字符转换成整型数
//题目已说明:输入时如有字母,则字母为大写。这里在转换字母是要减去'A'
int CharToInt(char c) {
    if (c >= '0' && c <= '9') {
        return c - '0';
    }
    else {
        return c - 'A' + 10;
    }
}

//将整型数转换成字符串
//题目已说明:输出时如有字母,则字母为小写。这里在转换字母是要加上'a'
char IntToChar(int n) {
    if (n >= 0 && n <= 9) {
        return n + '0';
    }
    else {
        return n - 10 + 'a';
    }
}

int main()
{
    int m, n;
    cin >> m >> n;
    string str;
    cin >> str;
    long long num = 0;

    //m进制转10进制
    for (int i = 0; i < str.size(); i++) {
        num *= m;
        num += CharToInt(str[i]);
    }

    //10进制转n进制 “除n取余法”
    vector<char> nums;
    while (num != 0) {
        nums.push_back(IntToChar(num % n));
        num /= n;
    }
    
    //逆序输出
    for (int i = nums.size() - 1; i >= 0; i--) {
        cout << nums[i];
    }
    cout << endl;

    return 0;
}

提交结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/857445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分布式技术专题】「数据一致性体系」带你一同建立采用消息队列实现的数据一致性框架技术体系方案

带你一同建立采用消息队列实现的数据一致性框架技术体系方案 分布式服务数据一致性问题采用分布式事务3PC模式3PC模式阶段分析 采用分布式锁采用数据同步机制采用数据分片机制针对常规方案所具有的问题预发送消息阶段切换为可发送状态定时补偿更新为可发送状态定时补偿发送数据…

免费ai写作生成器帮你释放创作天赋

喂&#xff01;听说你想提升写作功力&#xff1f;那么恭喜你&#xff0c;现在流行的ai写作软件将成为你提升写作效率的秘密武器。这是一款革命性的应用&#xff0c;就像你的个人写作导师&#xff0c;会帮助你通过简单的几步&#xff0c;创造出令人瞠目结舌的文字作品&#xff0…

QPainter - 使用一个时钟项目从头开始看QPainter

文章目录 QPainter - 使用一个时钟项目从头开始看QPainter绘制的原理绘制时分秒指针绘制背景绘制刻度线完整代码 QPainter - 使用一个时钟项目从头开始看QPainter 之前一直在说绘制&#xff0c;但是没有从头详细的去了解绘制这块的写法&#xff0c;因此我们来使用一个时钟的项…

3.正则表达式

3.1什么是正则表达式 ●正则表达式( Regular Expression) 是用于匹配字符串中字符组合的模式。在JavaScript中&#xff0c; 正则表达式也是对象 ●通常用来查找、替换那些符合正则表达式的文本&#xff0c;许多语言都支持正则表达式 ●正则表达式在JavaScript中的使用场景: ➢…

平板触控笔买哪种好?便宜又好用的电容笔推荐

或许很多人会觉得&#xff0c;苹果原装的电容笔性能强悍&#xff0c;是无可替代的&#xff0c;但我觉得&#xff0c;还是要看我们的预算。苹果Pencil对绘画要求不高的用户来说&#xff0c;价格太高了&#xff0c;如果我们只是用来写东西的话&#xff0c;我们甚至可以选择平替电…

Windows MYSQL社区版8.1下载安装(MSI)

一、下载 官网链接&#xff08;MySQL :: Download MySQL Community Server&#xff09; 选择版本&#xff1a; 直接下载&#xff1a; 二、安装配置 双击下载好的mysql-8.1.0-winx64.msi&#xff1b;打开安装向导&#xff1b;进入安装页面后选择Custom自定义安装&#xff0c;点…

清除浮动(clearfix)是什么,如何实现?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 清除浮动是什么&#xff1f;⭐ 清除浮动的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些…

【C++】职工管理系统

1.需求分析以及案例展示 2.创建项目 3.创建管理类 4.菜单功能 5.退出功能 6.创建职工类 #pragma once #include <iostream> #include <string> using namespace std;//职工抽象基类 class Worker { public://显示个人信息virtual void showInfo() 0;//获取岗位名称…

揭秘浏览器键入URI到页面显示的过程: 浏览器键入URI,到页面显示,中间发生什么?

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

差分升级在物联网水表上的实现与应用(学习)

摘要 当越来越多的物联网水表加入抄表系统后&#xff0c;实现了水表数据的信息化&#xff0c;并且当水表终端需要技术更新时&#xff0c;通过网络方式来升级产品可以高效修复设备面临的问题&#xff0c;减少用户损失&#xff0c;降低维护成本&#xff0c;但同时也对有限的网络…

IDEA 设置字体大小无效

设置字体大小&#xff0c;一般都是从file>settings>editor>font>Size里设置&#xff0c;一般都有效。 但是&#xff0c;如果是更换了主体&#xff0c;则需要从主体颜色菜单那里这是&#xff0c;你看这个页面&#xff0c;上面黄色三角也提示你了&#xff0c;要去颜色…

这所211热度很高!连续3年分数上涨!

一、学校及专业介绍 中国地质大学&#xff08;武汉&#xff09;&#xff08;China University of Geosciences, Wuhan&#xff09;&#xff0c;简称地大。位于武汉市&#xff0c;是中华人民共和国教育部直属的全国重点大学&#xff0c;由教育部和湖北省人民政府共建&#xff0…

告别if else!试试这款轻量级流程引擎吧,跟SpringBoot绝配!

之前同事用了一款轻量级的规则引擎脚本AviatorScript&#xff0c;我也跟着用了起来&#xff0c;真的挺香&#xff0c;能少写很多代码。这期就给大家介绍一下这款规则引擎。 简介 AviatorScript是一门高性能、轻量级寄宿于 JVM &#xff08;包括 Android 平台&#xff09;之上的…

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver的解决办法

springcloudAlibaba项目连接mysql时&#xff08;mysql版本8.0.31&#xff0c;Springboot2.2.2,spring cloud Hoxton.SR1,spring cloud alibaba 2.1.0.RELEASE&#xff09;&#xff0c;驱动名称报红&#xff0c;配置如下&#xff1a; 原因&#xff1a;引入的jdbc驱动包和使用的m…

uniapp实现自定义上传图片

目录 1、布局样式2、使用uniappAPI&#xff08;uni.chooseImage&#xff09;3、解决bug和添加功能3.1 bug13.2 bug23.3 bug33.4 点击图片进行预览3.5 删除图片 4、云函数上传到云存储 1、布局样式 在正式自定义上传前我们先将静态页面搭建好。 样式代码&#xff1a; <temp…

【面试题】这道面试题真的很变态吗?

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 最近帮公司招聘&#xff0c;主要负责一面&#xff0c;所以基本上问的基础多一点。但是我在问这样一道面试题的时候&#xff0c;很少有人答对。不少人觉得…

福布斯发布2023年云计算100强榜单,OpenAI排名第一

&#x1f989; AI新闻 &#x1f680; 福布斯发布2023年云计算100强榜单&#xff0c;OpenAI排名第一 摘要&#xff1a;福布斯发布《2023年云计算100强榜单》&#xff0c;OpenAI排名第一。榜单关注全球高成长性的云计算公司&#xff0c;特别注重AI领域的发展。今年有16家新上榜…

基于自适应曲线阈值和非局部稀疏正则化的压缩感知图像复原研究【自适应曲线阈值去除加性稳态白/有色高斯噪声】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

自带flash的浏览器,免安装

一. 内容简介 自带flash的浏览器&#xff0c;免安装 二. 软件环境 2.1 FlashBrowser_v1.0.5 2.2 安装包链接 链接&#xff1a;https://pan.baidu.com/s/1O8_uHBkDMAXnj0KCfj_Urw?pwd1234 提取码&#xff1a;1234 三.主要流程 3.1 下载安装包 3.2 运行 点击CefFlashBro…

怎么裁剪视频大小尺寸?简单的裁剪方法分享

怎么裁剪视频的画面大小尺寸呢&#xff1f;有时当我们下载下来一段视频&#xff0c;由于视频的画面大小比例不同&#xff0c;会有很多的黑边&#xff0c;我们不管是观看还是进行二次编辑都非常影响体验&#xff0c;而调整视频画面比例以适应观众的设备或平台&#xff0c;比如将…