当前位置: 首页 > news >正文

基础(一)十六进制转八进制

试题 基础练习 十六进制转八进制

资源限制

内存限制:512.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述
  给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
  输出n行,每行为输入对应的八进制正整数。

  【注意
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

  提示
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

具体思路给出一个转换函数,先将16进制数字转化为整数,再将整数转化为八进制字符串

看change函数即可

版本一:使用数字来作为中间过程,过多的数据long long完全无法接收。

#include<iostream>
#include<vector>
#include<string>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std;string change(string& s)
{string res;long long num = 0;int step = 0;for (int i = s.size() - 1; i >= 0; i--){switch (s[i]){case '1':num += 1 * pow(16, step++);break;case '2':num += 2 * pow(16, step++);break;case '3':num += 3 * pow(16, step++);break;case '4':num += 4 * pow(16, step++);break;case '5':num += 5 * pow(16, step++);break;case '6':num += 6 * pow(16, step++);break;case '7':num += 7 * pow(16, step++);break;case '8':num += 8 * pow(16, step++);break;case '9':num += 9 * pow(16, step++);break;case 'A':num += 10 * pow(16, step++);break;case 'B':num += 11 * pow(16, step++);break;case 'C':num += 12 * pow(16, step++);break;case 'D':num += 13 * pow(16, step++);break;case 'E':num += 14 * pow(16, step++);break;case 'F':num += 15 * pow(16, step++);break;}}int m;while (num){m = num % 8;num /= 8;res += '0'+m;// res += to_string(m);}reverse(res.begin(), res.end());return res;
}int main()
{int n;cin >> n;vector<string> v(n);vector<string> res(n);for (int i = 0; i < n; i++){cin >> v[i];string temp = change(v[i]);res[i] = temp;}for (int i = 0; i < n; i++){cout << res[i];cout << endl;}return 0;
}

【解法二】使用16-》2-》8进制

#include <iostream>
using namespace std;int main()
{int n;cin>>n;for(int i=0; i<n; i++){	string tow;string sixteen;string eight;cin>>sixteen;for(int j=0; j<sixteen.length(); j++){switch(sixteen[j]){case '0':tow+="0000";break;case '1':tow+="0001";break;case '2':tow+="0010";break;case '3':tow+="0011";break;case '4':tow+="0100";break;case '5':tow+="0101";break;case '6':tow+="0110";break;case '7':tow+="0111";break;case '8':tow+="1000";break;case '9':tow+="1001";break;case 'A':case 'a':tow+="1010";break;case 'B':case 'b':tow+="1011";break;case 'C':case 'c':tow+="1100";break;case 'D':case 'd':tow+="1101";break;case 'E':case 'e':tow+="1110";break;case 'F':case 'f':tow+="1111";break;}}if(tow.length()%3==1)tow="00"+tow;if(tow.length()%3==2)tow="0"+tow;if(!(tow[0]=='0'&&tow[1]=='0'&&tow[2]=='0')){char temp;temp = (tow[0]-'0')*4+(tow[1]-'0')*2+tow[2];eight += temp;}for(int j=3; j<tow.length(); j+=3){eight+=(tow[j]-'0')*4+(tow[j+1]-'0')*2+tow[j+2];}cout<<eight<<endl;}return 0;
}

相关文章:

基础(一)十六进制转八进制

试题 基础练习 十六进制转八进制 资源限制 内存限制&#xff1a;512.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述   给定n个十六进制正整数&#xff0c;输出它们对应的八进制数。输入格式   输入的第…...

梯度提升算法决策过程的逐步可视化

梯度提升算法是最常用的集成机器学习技术之一&#xff0c;该模型使用弱决策树序列来构建强学习器。这也是XGBoost和LightGBM模型的理论基础&#xff0c;所以在这篇文章中&#xff0c;我们将从头开始构建一个梯度增强模型并将其可视化。 梯度提升算法介绍 梯度提升算法&#x…...

Linux系统调用之文件属性操作函数

前言 如果&#xff0c;想要深入的学习Linux系统调用中access&#xff0c;chmod&#xff0c;chown&#xff0c;truncate这些有关于文件属性的操作函数&#xff0c;还是需要去自己阅读Linux系统中的帮助文档。 具体输入命令&#xff1a; man 2 access/chmod/chown/truncate 即可…...

VMware 安装 银河麒麟高级服务器操作系统 V10 + QT 开发环境搭建

下载并安装vmware 下载银河麒麟操作烯烃服务器版v10的镜像文件从官网下载&#xff0c;因为是x86的电脑芯片&#xff0c;选择AMD64版&#xff0c;即vmare 安装麒麟操作系统注意事项&#xff1a;安装位置选择自动分区网络和主机名设置打开网络&#xff0c;ip4就不用再设置了创建一…...

2023年疫情开放,国内程序员薪资涨了还是跌了?大数据告诉你答案

自从疫情开放&#xff0c;国内各个行业都开始有复苏的迹象&#xff0c;尤其是旅游行业更是空前暴涨&#xff0c;那么互联网行业如何&#xff1f; 有人说今年好找工作多了&#xff0c;有人说依然是内卷得一塌糊涂&#xff0c;那么今年开春以来&#xff0c;各个岗位的程序员工资…...

太赫兹频段耦合器设计相关经验总结

1拿到耦合器的频段后&#xff0c;确定中心频率和波导的宽度和高度 此处贴一张不同频段对应的波导尺寸图 需要注意的是1英寸 2.54厘米&#xff0c;需注意换算 具体网址&#xff1a;矩形波导尺寸 | 扩维 (qualwave.com) 仅列举我比较常用的太赫兹频段部分 2.以220~320GHz频段&a…...

反弹shell数据不回显带外查询pikaqiu靶场搭建

P1 文件上传下载&#xff08;解决无图形化和解决数据传输&#xff09; 解决无图形化&#xff1a; 当我们想下载一个文件时&#xff0c;通常是通过浏览器的一个链接直接访问网站点击下载的&#xff0c;但是在实际的安全测试中&#xff0c;我们获取的权限只是一个执行命令的窗口…...

按键修改阈值功能、报警功能、空气质量功能实现

按键修改阈值功能 要使用按键&#xff0c;首先要定义按键。通过查阅资料&#xff0c;可知按键的引脚如图所示&#xff1a;按键1&#xff08;S1&#xff09;通过KEY0与PA0连接&#xff0c;按键2&#xff08;S2&#xff09;通过KEY1与PE2连接&#xff0c;按键3&#xff08;S3&…...

spring重点整理篇--springMVC(嘿嘿,开心哟)

Spring MVC是的基于JavaWeb的MVC框架&#xff0c;是Spring框架中的一个组成部分(WEB模块) MVC设计模式&#xff1a; Controller&#xff08;控制器&#xff09; Model&#xff08;模型&#xff09; View&#xff08;视图&#xff09; 重点来了&#x1f604; SpringMVC的工作机制…...

图像融合评估指标Python版

图像融合评估指标Python版 这篇博客利用Python把大部分图像融合指标基于图像融合评估指标复现了&#xff0c;从而方便大家更好的使用Python进行指标计算&#xff0c;以及一些I/O 操作。除了几个特征互信息的指标没有成功复现之外&#xff0c;其他指标均可以通过这篇博客提到的P…...

20230303----重返学习-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数

day-019-nineteen-20230303-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数 变量 变量声明 变量 声明定义(赋值) var num;num 100; 声明与赋值分开var num 100; 声明时就赋值 赋值只能声明一次&#xff0c;可以赋值无数次 变量声明关键词 varconstletclassfunctio…...

Java面试题总结

文章目录前言1、JDK1.8 的新特性有哪些&#xff1f;2、JDK 和 JRE 有什么区别&#xff1f;3、String&#xff0c;StringBuilder&#xff0c;StringBuffer 三者的区别&#xff1f;4、为什么 String 拼接的效率低&#xff1f;5、ArrayList 和 LinkedList 有哪些区别&#xff1f;6…...

深圳大学计软《面向对象的程序设计》实验7 拷贝构造函数与复合类

A. Point&Circle(复合类与构造) 题目描述 类Point是我们写过的一个类&#xff0c;类Circle是一个新的类&#xff0c;Point作为其成员对象&#xff0c;请完成类Circle的成员函数的实现。 在主函数中生成一个圆和若干个点&#xff0c;判断这些点与圆的位置关系&#xff0c;…...

Java的JVM(Java虚拟机)参数配置

JVM原理 &#xff08;1&#xff09;jvm是java的核心和基础&#xff0c;在java编译器和os平台之间的虚拟处理器&#xff0c;可在上面执行字节码程序。 &#xff08;2&#xff09;java编译器只要面向jvm&#xff0c;生成jvm能理解的字节码文件。java源文件经编译成字节码程序&a…...

leetcode 困难 —— 数据流的中位数(优先队列)

题目&#xff1a; 中位数是有序整数列表中的中间值。如果列表的大小是偶数&#xff0c;则没有中间值&#xff0c;中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化…...

7个常用的原生JS数组方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 7个常用的原生JS数组方法一、Array.map()二、Array.filter三、Array.reduce四、Array.forEach五、Array.find六、Array.every七、Array.some总结一、Array.map() 作用&#…...

一、一篇文章打好高数基础-函数

1.连续函数的性质考点分析函数的连续性主要考察函数的奇偶性、有界性、单调性、周期性。例题判断函数的奇偶性的有界区间为&#xff08;&#xff09; A.(-1,0) B(0,1) C(1,2) D(2,3)2.闭区间上连续函数的性质考点分析闭区间上连续函数的性质主要考察函数的最大最小值定理、零点…...

pipenv的基本使用

一. pipenv 基础 pipenv安装&#xff1a; pip install pipenvpipenv常用命令 pipenv --python 3 # 创建python3虚拟环境 pipenv --venv # 查看创建的虚拟环境 pipenv install 包名 # 安装包 pipenv shell # 切换到虚拟环境中 pip list # 查看当前已经安装的包&#xff0…...

OpenCV入门(三)快速学会OpenCV2图像处理基础

OpenCV入门&#xff08;三&#xff09;快速学会OpenCV2图像处理基础 1.颜色变换cvtColor imgproc的模块名称是由image&#xff08;图像&#xff09;和process&#xff08;处理&#xff09;两个单词的缩写组合而成的&#xff0c;是重要的图像处理模块&#xff0c;主要包括图像…...

基于PySide6的MySql数据库快照备份与恢复软件

db-camera 软件介绍 db-camera是一款MySql数据库备份&#xff08;快照保存&#xff09;与恢复软件。功能上与dump类似&#xff0c;但是提供了相对有好的交互界面&#xff0c;能够有效地管理导出的sql文件。 使用场景 开发阶段、测试阶段&#xff0c;尤其适合单人开发的小项目…...

BI不是报表,千万不要混淆

商业智能BI作为商业世界的新宠儿&#xff0c;在市场上实现了高速增长并获得了各领域企业的口碑赞誉。 很多企业把商业智能BI做成了纯报表&#xff0c;二维表格的数据展现形式&#xff0c;也有一些简单的图表可视化。但是这些简单的商业智能BI可视化报表基本上只服务到了一线的…...

sizeof以及strlen的用法以及注意事项

大家都知道&#xff0c;在c中算字符串长度和所占空间大小事不可避免的&#xff0c;甚至再有的时候&#xff0c;我们在写代码的过程中&#xff0c;就会用到这些数据。比如&#xff0c;下面这道题 struct Test { int Num; char *pcName; short sDate; char cha[2]; short sBa[4];…...

数据结构-链表-单链表(3)

目录 1. 顺序表的缺陷 2. 单链表 2.1 单链表的基本结构与接口函数 2.2 重要接口 创建新节点的函数&#xff1a; 2.2.1 尾插 2.2.2 头插 2.2.3 尾删 2.2.4 头删 2.2.5 查找 2.2.6 插入 2.2.7 删除 2.2.8 从pos后面插入 2.2.9 从pos后面删除 3. 链表的缺陷与优势&…...

【SpringBoot初级篇】JdbcTemplate常用方法

【SpringBoot初级篇】JdbcTemplate常用方法JdbcTemplate 查询JdbcTemplate 插入、更新、删除execute执行任意的SQLNamedParameterJdbcTemplate函数场景说明update(String sql, Nullable Object… args)增&#xff0c;删&#xff0c;改queryForObject(sql, Integer.class)查询返…...

React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context

React&#xff08;三&#xff09;一、脚手架安装和创建1.安装脚手架2.创建脚手架3.看看脚手架目录4.运行脚手架二、脚手架下从0开始写代码三、组件化1.类组件2.函数组件四、React的生命周期1.认识生命周期2.图解生命周期&#xff08;1&#xff09;Constructor&#xff08;2&…...

[教程]使用 Git 克隆指定分支

Git 是我们开发过程中经常使用到的版本管理工具,在平常情况下我们从远程克隆的时候会将整个库克隆下来&#xff0c;这会包括整个版本库的历史提交记录和远程库里的所有分支。但在一些情况下&#xff0c;比如我们并不需要查看历史提交记录而只是希望能够获取到最新的代码&#x…...

Redis实现服务注册与服务发现源码阅读(Go语言)

Redis实现服务注册与服务发现源码阅读 背景 近期在看开源项目CloudWeGo中看到目前GoLang微服务框架Hertz中支持通过Redis实现服务注册与服务发现功能。便想着阅读下源码 源码阅读 gut clone了hertz-contrib后看到在一级目录下有目前各种主流的服务注册与发现的实现方案。为…...

论文复现-3

模型构建中的运算 数据集是CONLL03 这个数据集共有4种实体类型&#xff0c;所以&#xff0c;在做实体描述的embedding时&#xff0c;得到的语义表示的Tensor大小为 &#xff1a; 4*max_len, 具体指的是&#xff1a; type_input_ids: torch.LongTensor None, type_attention_m…...

667知识点 | 经过三年实战检验的667知识清单

文章目录 前言第一章 信息与信息资源第二章 信息社会第三章 信息交流第四章 信息技术第五章 信息组织第六章 信息管理活动第七章 信息资源人文管理第八章 信息资源经济管理第九章 信息资源系统管理第十章 信息资源管理专门化前言 参考书目:《信息管理导论(第三版)》党跃武推…...

后端快速上手前端三剑客 HtmlCSSJavaScript

文章目录前言HTML1.基础标签2.多媒体标签&#xff1a;3.表格&列表&布局4.表单CSS1.简介2.导入方式3.选择器JavaScript1.简介2.引入方式3.基本语法4.对象(1) 基本对象(2) BOM对象(3) DOM对象5.事件前言 结构&#xff1a;HTML 表现&#xff1a;CSS 行为&#xff1a;Java…...

做网站+广告费+步骤/齐三seo顾问

Linux 定期切割Tomcat catalina.out和清理log日志Tomcat日志的清理有两种情况第一种&#xff1a;日志本身就以日期保存&#xff0c;每天一个文件的&#xff0c;比如localhost.2020-04-24.log&#xff1b;这类日志只需要卡一个定时器&#xff0c;定期删除即可。第二种&#xff1…...

工控网做网站维护吗/seo专业培训需要多久

当线程对象的Execute()执行完毕&#xff0c;我们就认为此线程终止了。这时候&#xff0c;它会调用Delphi的一个标准例程EndThread()&#xff0c;这个例程再调用API函数ExitThread()。由ExitThread()来清除线程所占用的栈。 当结束使用TThread对象时&#xff0c;应该确保已经把这…...

wordpress 添加百度统计/佛山seo关键词排名

建筑模型设计制作实践室带锯、圆盘锯安全操作规程一、开机前1、检查锯齿是否变钝&#xff0c;固定锯片的螺丝是否坚固&#xff0c;锯条是否绷紧适中。2、接通电源&#xff0c;检查转动方向是否正确。3、根据锯切需要&#xff0c;调整锯条、档板等至合适位置&#xff0c;做好锯切…...

百度给企业做网站吗/免费网站软件推荐

HDMI框架层控制部分别在两个部分&#xff1a; frameworks/base/core/java/android/hardware/hdmi frameworks/base/services/core/java/com/android/server/hdmi 如果平台是MTK的&#xff0c; 有会一个frameworks/base/services/core/java/com/mediatek/hdmi/MtkHdmiManager…...

中国最好网站建设公司/网站推广的方法和途径

项目准备 项目展示图 建立新文件夹&#xff0c;新建出images CSS JS 三个文件夹&#xff0c;并在根目录下创建出index.html将下列素材图片转到images文件中 接下来可以开始着手操作了 HTML结构 游戏内容区域 &#xff08;content&#xff09;游戏开始按钮 &#xff08;btn …...

自学做网站多久/商务网站如何推广

内存泄漏 memory leak 申请内存后&#xff0c;无法释放 内存溢出 out of memory 申请内存时&#xff0c;空间不够 关系 内存泄漏的堆积最终会导致内存溢出...