蓝桥杯 十六进制转八进制

Java实现蓝桥杯十六进制转八进制 基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 提交此题 锦囊1 锦囊2 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n... 阅读详情

最近在做蓝桥杯上的算法题的时候,觉得有一些东西需要自己小结一下,方便以后查阅。

首先,在java里有专门的函数可以调用,将十六进制转化为八进制。我试了一下在我的eclipse运行ok了,但是提交到蓝桥杯的评测系统上就是通不过。以下是代码:

public static void main(String[] args){
		Scanner scan =  new Scanner(System.in);
		int n=scan.nextInt();
		String[] array1 = new String[n];
		String[] array2 = new String[n];
		for(int i=0;i<array1.length;i++){
			String m=scan.next();
			array1[i]=m;
		}
		for(int i=0;i<array2.length;i++){
			array2[i]=Long.toOctalString(Long.parseLong(array1[i],16));
			System.out.println(array2[i]);
		}
	}   


后来发现与题目要求不符,然后又想了另外一种方法:

static int  fun(String s){
	    	int n = s.length();
	    	int sum =0,a=1;
	    	for(int i =n-1;i>=0;i--){
	    	    char b =s.charAt(i);
	    	    if(b >='0'&&b<='9')
	    	    	sum =sum+(b-'0')*a;
	    	    else 
	    	    if(b>='A'&&b<='F')
	    	    	sum+=(b+10-'A')*a;
	    	    a=a*16;
	    	}
	    	return sum;
	    }
     public static void fun8(int x){
    	 Stack<Integer> st =new Stack<Integer>();
    	 while(x>0){
    		 st.push(x%8);
    		 x=(int)(x/8);     //注意:x为int类型  取整后为零
    	 }
    	 while(!st.isEmpty()){
    		 System.out.print(st.peek());
    		 st.pop();
    	 }
    	 System.out.println();
     }
     public static void main(String[] args){
    	 Scanner sc = new Scanner(System.in);
    	 int n =sc.nextInt();
	    String[] array1=new String[n];
	    int[] x =new int[n];
	    for(int i =0;i<array1.length;i++){
	    	String m =sc.next();
	    	array1[i] = m;
	    }
	      for(int i=0;i<array1.length;i++)
	      {
	    	  x[i] =fun(array1[i]);
	      }
	      for(int i=0;i<array1.length;i++)
	    	  fun8(x[i]);
     }

第二种方法先把十六进制转化为十进制(fun()函数)然后再用了栈来存放每一位十进制转换为八进制(fun1()函数)的数据。

while(!st.isEmpty()){
    		 System.out.print(st.peek());
    		 st.pop();

此处栈的操作起初我也没搞明白,后来想想。应该是这样理解的:st.peek()函数即指向栈顶数据,然后打印出栈顶数据。st.pop()弹栈函数把栈顶数据弹出栈,判断栈非空则继续打印出新的栈顶数据,直到栈为空。

c蓝桥杯高效实现十六进制转八进制 蓝桥杯:十二进制转八进制 题目要求将输入n个十六进制字符出串转为八进制输出对输入十六进制数长度要求小于等于100000(输出忽略前导0)   因为输入数长度过大基本排除使用int,long,long long进行存储。  所以有基本思想用数组存放输入的16进制数后一位16进制转换为四位2进制,如果将所有位全转为2进制那么长度会变为40000位,结果是显然不理想的。由三位二进制对应一位八进制我 阅读详情

相关推荐

蓝桥杯 基础练习 十六进制转八进制 C语言 高效方式 解决超时问题

蓝桥杯 基础练习 十六进制转八进制 C语言 高效方式 解决超时问题 大家好,这是我第一次书写自己的博客,非常开心你能够阅读这篇文章,希望接下来的内容对你有所帮助。 正文 基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1&amp;lt;=n&amp;lt;=10)。   接下来...

Kongxh的博客 9021

蓝桥杯 16进制转8进制(优化)C语言

看了大佬的思路,改变了一点 #include <stdio.h> #include <string.h> #include <malloc.h> struct Shiliu{ char s[1000001] ; }; typedef struct Shiliu shiliu ; int main() { int n ; scanf("%d",&n) ; shiliu* a = (shiliu*)malloc(n*sizeof(shiliu)) ; c

小美单片机 4341

蓝桥杯--基础练习 十六进制转八进制

问题描述   给定n个十六进制正整数,输出它们对应的八进制数。输入格式   输入的第一行为一个正整数n (1&lt;=n&lt;=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式   输出n行,每行为输入对应的八进制正整数。   【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八...

OKAB3的博客 518

蓝桥杯 十六进制转为八进制 C语言版

** 蓝桥杯 十六进制转为八进制 ** 题目 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入   2   39   123ABC 样例输出   

weixin_55966773的博客 7058

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

题目来源 蓝桥杯 基础训练 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例

weixin_45503167的博客 909

OpenWRT软件源更换保姆级教程:从国内镜像到官方源一键切换(含常见报错解决)

本文提供OpenWRT软件源更换的详细教程,涵盖从国内镜像源到官方源的切换方法,并深度解析常见报错解决方案。针对国内网络环境,指导用户如何精准定位系统信息、备份配置、选择并配置清华等国内镜像源,以及处理签名验证失败、依赖缺失、404错误等典型问题,旨在提升软件包管理效率与稳定性。

weixin_29229261的博客 1941

蓝桥杯——十六进制转八进制

蓝桥杯——十六进制转八进制,Java,基础练习

许帅的博客 988

ESP32脑机接口开发板:EEG信号采集与应用开发指南

脑机接口(BCI)技术通过采集脑电图(EEG)信号实现人机交互,其核心在于高精度生物电信号采集与实时处理。基于ESP32微控制器的开发平台结合专业级ADS1299 ADC芯片,可构建8通道EEG信号采集系统,支持250SPS采样率与可编程增益。这种嵌入式解决方案在科研教育领域具有显著优势,既能满足信号质量要求,又大幅降低开发门槛。典型应用包括实时脑电波可视化、注意力检测等BCI场景,通过Python生态工具链(如BrainFlow、LSL)可快速实现数据处理。开发时需注意电极阻抗控制(<10kΩ)和50/6

weixin_42518874的博客 344

C语言蓝桥杯十六进制转八进制

#include <stdio.h> #include <string.h> #include <math.h> int main() { int i, n, j, temp; char ch; scanf("%d", &n); getchar(); long a[n]; char str[n][100000]; for (i = 0; i < n; i++) { scanf("%s", str[i]); for (j = 0, t.

AdamShyly的博客 580

2023-ICCV-隐式神经网络实现低光照图像增强(NeRCo)论文解读+代码解析

NeRCo()提出了一种名为NeRCo的隐式神经表示方法,用于合作式低光图像增强。现有的低光图像增强方法存在以下三个限制:不可预测的亮度降低和噪声、度量友好版本和视觉友好版本之间的固有差距,以及有限的配对训练数据。为了解决这些限制,论文提出了NeRCo方法,它以无监督的方式稳健地恢复感知友好的结果。具体而言,NeRCo通过一个可控的拟合函数统一了现实场景中多样的退化因素,从而提高了鲁棒性。对于输出结果,论文引入了来自预训练视觉-语言模型的先验信息,采用语义导向的监督方法。

weixin_45595504的博客 3185

GEM5教程--gem5开始之旅(一)

GEM5系列教程--gem5开始之旅一、建立GEM5 GEM5模拟器是一个用于计算机系统结构研究的模块化平台,包含系统级别的结构以及处理器的微体系结构。读者若想详细的了解,请查看其官方文档GEM5文档 读者如果想要入门GEM5的话,可以参考Learning_GEM5这个网站,这里面有较为详细的教程,可以带读者从入门到精通。小编我对GEM5的入门学习也是从这个Learning_GEM5这个网站学习的...

qq_43381135的博客 3万+

蓝桥杯 试题 基础设计 十六进制转八进制

蓝桥杯 基础试题 十六进制转八进制 题目描述: 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。接下来n行,每行一个由0到9,A到F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 注意 输入的十六进制数不会有前导0,比如012A。    输出的八进制数也不能有前导0。 测试用例 样例输入 2    39    123ABC

weixin_45619069的博客 2861

STM32单片机语音提示盲人拐杖整点报时夜间警示超声波测距

STM32单片机语音提示盲人拐杖整点报时夜间警示超声波测距 关键词:语音提示盲人拐杖 整点报时 超声波测距拐杖

LS840233684的博客 2047

蓝桥杯java:基础练习 十六进制转八进制

蓝桥杯java:基础练习 十六进制转八进制 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 注意   输入的十六进制数不会有...

江南小帅瓜的博客 655

01. VBA从入门到精通——录制宏、窗口、快捷键

excel表功能区右击→常用→选择显示开发工具选项→确定Visual Basic:打开VBA窗口宏:查看要录制的宏录制宏:准备录制宏使用相对引用:录制宏的时候对单元格的引用做一个设置宏安全性:对宏的使用做安全设置,一般设置为禁用所有宏,并发出通知,此时打开带有宏代码的工作薄时会出现警告标记,如果宏可信就选择启动。

weixin_43812198的博客 1696

重回童年的经典系列☀️| 【坦克大战3D版】游戏制作+解析

带你重回童年的经典系列——坦克大战3D版制作,感兴趣的可以看看呀~

努力前行,总会成为自己心中的那道光 5万+

蓝桥杯 基础练习 十六进制转八进制

蓝桥杯 基础练习:十六进制转八进制 题目描述: 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制...

baobaohui 733

2026年运维工程师常见面试选择题

这篇文章总结了30道Linux运维面试常见问题及解析,涵盖基础命令、系统监控、故障排查、数据库、缓存、容器编排等多个方面。主要内容包括: 基础命令使用:如df查看磁盘、free查看内存、top监控进程等 系统监控与故障排查:负载判断、端口检查、进程管理等 中间件相关:Nginx状态码、MySQL主从复制、Redis缓存问题 容器技术:Docker优势、Kubernetes作用 运维理念:高可用、监控告警、发布策略、备份容灾 工作原则:故障处理优先级、运维工程师核心能力 文章不仅提供标准答案,还解析了各命令的

不务正业的猿 193

蓝桥杯 十六进制转八进制

蓝桥杯试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,

gyhzxy的博客 577

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

蓝桥杯基础练习 十六进制转八进制

蓝桥杯基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。

m0_48392383的博客 286

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝桥杯基础练习 十六进制转八进制C++

蓝桥杯基础练习 十六进制转八进制 #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; using namespace std; string trans(char a) { switch(a) { case'0':return &amp;amp;quot;0000&amp;amp;quot;; case'1':return &amp;amp;quot;0001&amp;amp;

王大头不吃藕的博客 2728

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

蓝桥杯-基础练习 十六进制转八进制

问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。 样例输入

柳婼 の blog 1429

蓝桥杯 基础练习 十六进制转八进制

问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1&lt;=n&lt;=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。   【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入   2   39

weixin_43140561的博客 245

蓝桥杯 试题 基础练习 十六进制转八进制c++详解

资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式   输出n行,每行为输入对应的八进制正整数。 【注意】   输入的十六进制数不会有前导0,比如012A。   输出的八进制数也不能有前导0。 样例输入   2   39   

m0_46044622的博客 964

蓝桥杯-十六进制转八进制(C语言)

蓝桥杯-十六进制转八进制(C语言) 未完成! 可以的话希望有哪位大佬帮忙看一下哪里出了问题 这里是一只在进阶的小菜鸡 尝试了几次,决定先放弃了,可能能力还不太够(菜) 思路 将十六进制转换成二进制,再将二进制转换成八进制 十六进制转二进制保存在一个数组中 数组中的0位恰好对应二进制转到八进制的第一组三个数里的第一个应为2的0次(使用pow()函数) 每三组输出一次结果 输出完之后再计算下一个数组中...

jiayouxu的博客 5089
上一篇: Linux下JNI的实现
下一篇: 蓝桥杯 特殊回文数的查找
mib_du
博客等级 码龄14年 14粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值