[蓝桥杯]基础练习 十六进制转八进制
来源:互联网 发布:mysql 多主 性能 编辑:程序博客网 时间:2024/06/05 15:27
问题描述
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。
样例输入
2
39
123ABC
样例输出
71
4435274
【提示】 先将十六进制数转换成某进制数,再由某进制数转换成八进制。
解题新知:c++,string的练习使用
AC代码:
#include<bits/stdc++.h>using namespace std;int main(){ string n2,n16; ios_base::sync_with_stdio(false); cin.tie(NULL),cout.tie(NULL); int t; cin>>t; while(t--) { n2 = ""; cin>>n16; int len = n16.length(); for(int i=0;i<len;i++) { switch(n16[i]) { case '0':n2+="0000";break; case '1':n2+="0001";break; case '2':n2+="0010";break; case '3':n2+="0011";break; case '4':n2+="0100";break; case '5':n2+="0101";break; case '6':n2+="0110";break; case '7':n2+="0111";break; case '8':n2+="1000";break; case '9':n2+="1001";break; case 'A':n2+="1010";break; case 'B':n2+="1011";break; case 'C':n2+="1100";break; case 'D':n2+="1101";break; case 'E':n2+="1110";break; case 'F':n2+="1111";break; default:break; } } len = n2.length();//原始长度 if(len%3 == 2) n2="0"+n2; if(len%3 == 1) n2="00"+n2; len = n2.length();//重获休整长度 int ans; for(int i=0;i<len;i=i+3) { ans = 4*(n2[i]-'0')+2*(n2[i+1]-'0')+(n2[i+2]-'0'); if(i==0 && ans==0) continue; cout<<ans; } cout<<endl; } return 0;}
阅读全文
0 0
- 蓝桥杯:基础练习 十六进制转八进制
- "蓝桥杯“基础练习:十六进制转八进制
- 蓝桥杯 【基础练习】 十六进制转八进制
- 蓝桥杯:基础练习 十六进制转八进制
- 蓝桥杯基础练习--十六进制转八进制
- 【蓝桥杯】基础练习 十六进制转八进制
- 蓝桥杯基础练习 十六进制转八进制
- 基础练习-十六进制转八进制 -JAVA蓝桥杯
- 1501091239-蓝桥杯-基础练习 十六进制转八进制
- 蓝桥杯 基础练习 十六进制转八进制
- 蓝桥杯_ 基础练习 十六进制转八进制
- "蓝桥杯“基础练习:十六进制转八进制
- 蓝桥杯-基础练习12 十六进制转八进制
- 蓝桥杯-基础练习-十六进制转八进制
- 蓝桥杯:基础练习 十六进制转八进制
- 蓝桥杯 基础练习 十六进制转八进制
- 蓝桥杯 基础练习 十六进制转八进制
- 【蓝桥杯】【基础练习02】【十六进制转八进制】
- c++随笔之class
- thinkphp使用http::download下载word或者ppt文件乱码问题的解决方法
- 如何用一段简单的代码讲述一个悲伤的故事?
- 不要自称是程序员
- 做程序员压力山大,很多人都快疯了
- [蓝桥杯]基础练习 十六进制转八进制
- 10年后,程序员的薪资还会这么高么?
- 读渡边淳一有感
- 比较两整数的最大值,在主函数中调用该函数的值并输出其最大值。
- [NOIP2017普及组]图书管理员
- 匠牛社区AM5728烧写eMMC
- LintCode 81. 数据流中位数
- [org.hibernate.util.JDBCExceptionReporter]
- PyCharm Split Vertically & Split Horizontally