【蓝桥杯】基础练习 十六进制转八进制
问题描述
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
思路:八位十六进制int类型就撑不住了,所以十六进制转成十进制是不行的,采取二进制做中间商:十六进制 -> 二进制 -> 八进制
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int temp=0;String []strings = new String[n];while(n>0){n--;strings[temp++]=scanner.next();}for(int i=0;i<strings.length;i++){String s = toBinary(strings[i]);String s1 = toOctal(s);System.out.println(s1);}}//1、将十六进制转换成二进制public static String toBinary(String s){String []temp = {"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};StringBuffer result= new StringBuffer("");for(char c : s.toCharArray()){if(c>='0' && c<='9'){result.append(temp[Integer.parseInt(""+c)]);}else {result.append(temp[c-55]);}}return result.toString();}//2、将二进制转换成八进制public static String toOctal (String s){StringBuffer result = new StringBuffer();int i;for(i=s.length();i-3>=0;i-=3){String substring = s.substring(i - 3, i);switch (substring){case "000":{if((i-3)==0) break;else result.append(0);break;}case "001":result.append(1);break;case "010":result.append(2);break;case "011":result.append(3);break;case "100":result.append(4);break;case "101":result.append(5);break;case "110":result.append(6);break;case "111":result.append(7);break;}}if(i!=-1){String substring = s.substring(0, i);switch (substring){case "00":break;case "0":break;case "1":case "01":result.append(1);break;case "10":result.append(2);break;case "11":result.append(3);break;}}StringBuffer reverse = result.reverse();return reverse.toString();}
}
【蓝桥杯】基础练习 十六进制转八进制相关推荐
- 蓝桥杯 基础练习 十六进制转八进制
目录: 1.原题 2.解题思路 3.代码实现 1.原题 资源限制 内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s问题 问 ...
- 蓝桥杯 基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...
- 蓝桥杯-基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...
- 蓝桥杯——基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...
- [蓝桥杯]基础练习 十六进制转八进制
16进制转成2进制,2进制转成8 #include<iostream> #include<string> #include<vector>using namespa ...
- 蓝桥杯练习题之十六进制转八进制
基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n< ...
- 蓝桥杯——基础练习——十六进制转十进制
package com.study.蓝桥杯.基础练习;/* 问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出.注:十六进制数中的10~15分别用大写的英文字母A.B ...
- 蓝桥杯C语言 十六进制转八进制
十六进制转八进制 思路分析: 39十六进制先转换为4位二进制,3为0011,9为1001,所以39的二进制为00111001,又把二进制转化为3位八进制,从右边开始数,001为1,111为7,所以39 ...
- 蓝桥杯练习:十六进制转八进制
题目链接:十六进制转二进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母 ...
- 蓝桥杯基础练习十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示. 样例输入 FFFF 样例输出 6 ...
最新文章
- C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)
- HttpServletResponse 的 sendError( )方法以及常用的HttpServletResponse常量级错误代码
- centos打显卡驱动命令_ubuntu16.04安装显卡以及驱动经验
- 树莓派是python的应用领域吗_树莓派为什么采用python语言为主要开发语言?
- 关于 PHP 5.4 你所需要知道的
- combo空间禁止手动输入_国产大空间MPV新选择 上汽大通新款G10国六版本上市
- 开源 程序员清单_2015开源夏季阅读清单
- 自学转行成前端工程师,三面拿下字节跳动offer
- 推荐系统Recommendation System:综述
- codeforces 212E IT Restaurants(树形dp+背包思想)
- 《软件项目管理案例教程》应考概念要点及重点整理
- 英国外交部翻译教你实用口语课,让你飚出一口地道、流利英语
- ltm是什么门的缩写_ltm的含义,ltm是什么的缩写,ltm的词语,ltm代表的意思
- Web前端开源框架 资源库,全,丰富,牛!
- DNS服务器的作用 路由器的功能,dns服务器是什么意思 dns服务器主要功能有哪些...
- 9700 功耗测试软件,温度与功耗测试 - 酷睿i9-9900K/i7-9700K同步评测:八核的时代来了 - 超能网...
- JavaScript读书笔记四
- 求解(树的子结构问题-何海涛100题)
- PHPNOW如何卸载
- 联系人导出vcard_如何在Outlook 2013中将多个联系人导出到多个vCard或单个vCard
热门文章
- Android使用百度大脑EasyDL识别交通标志物
- echarts 生成中国陕西省份(或其他省份)的地图,大屏使用
- 波士顿房价预测python决策树_机器学习第二练---波士顿房价预测
- 波士顿房价预测python决策树_模型评价与验证-波士顿房价预测.ipynb
- oracle 12c新特性 FETCH FIRST、WITH TIES 关键字详解
- windows10下装pytorch简单步骤和中遇见的一些问题
- Interpreter(解释器)
- [ thanos源码分析系列 ]thanos sidecar组件源码简析
- 粗柳簸箕细柳斗,谁嫌爬虫男人丑 之 异步协程半秒扒光一本小说
- 关于阿里云的一键部署工具【飞流】的使用(详细)