蓝桥杯python基础算法(2-2)——基础算法(D)——进制转换*

devtools/2025/2/7 16:04:23/

目录

五、进制转换

十进制转任意进制,任意进制转十进制

例题 P1230 进制转换

作业 P2095 进制转化

作业 P2489 进制


五、进制转换

十进制转任意进制,任意进制转十进制


int_to_char = "0123456789ABCDEF"
def Ten_to_K(k, x):answer = ""while x != 0:# int_to_char[x % k] 用于获取余数对应的字符answer += int_to_char[x % k]# 将 x 整除 k,更新 x 的值x //= k# 由于是从低位到高位构建 answer,所以需要将其反转后返回return answer[::-1]char_to_int = {}
# 使用 enumerate 遍历 int_to_char 字符串
# idx 是字符的索引,chr 是字符串中的每个字符
for idx, chr in enumerate(int_to_char):# 将每个字符作为键,其索引作为值,添加到 char_to_int 字典中char_to_int[chr] = idx
def K_to_Ten(k, x):answer = 0# 将输入的数字符串 x 反转,以便从低位到高位处理x = x[::-1]for i in range(len(x)):# 将每一位字符对应的数值乘以 k 的 i 次幂,并累加到 answer 中# char_to_int[x[i]] 获取字符对应的数值answer = answer + char_to_int[x[i]] * k ** ireturn answer

例题 P1230 进制转换


给定一个 N 进制数 S,请你将它转换为 M 进制。

输入描述

第一行为一个整数 T,表示测试数据数量。 (1≤T≤10^5)

每个测试用例包含两行,第一行包含两个整数 N,M。

第二行输入一个字符串 S,表示 N 进制数。

数据范围保证:2≤N,M≤16,若 N≥10,则用 A∼F 表示字码 10∼15。保证 S 对应的十进制数的位数不超过 10。

输出描述

输出共 T,每行表示一组数据的答案。


int_to_char="0123456789ABCDEF"
def Ten_to_K(k,x):answer=""while x !=0:answer+=int_to_char[x%k]x//=kreturn answer[::-1]char_to_int={}
for idx,chr in enumerate(int_to_char):char_to_int[chr]=idx
def K_to_Ten(k,x):answer=0x=x[::-1]for i in range(len(x)):answer=answer+char_to_int[x[i]]*k**ireturn answerT=int(input())
for _ in range(T):N,M=map(int,input().strip().split())S=input().strip()# N转换为10进制,10进制转化为M进制y=K_to_Ten(N,S)z=Ten_to_K(M,y)print(z)

作业 P2095 进制转化


本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

九进制正整数 (2022)9​ 转换成十进制等于多少?


print(1478)
int_to_char="0123456789ABCDEF"
char_to_int={}
for idx,chr in enumerate(int_to_char):char_to_int[chr]=idx# 请在此输入您的代码
def K_to_Ten(k,x):answer=0x=x[::-1]for i in range(len(x)):answer=answer+char_to_int[x[i]]*k**ireturn answerprint(K_to_Ten(9,"2022"))

作业 P2489 进制


请问十六进制数 2021ABCD 对应的十进制是多少?

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


print(539077581)
int_to_char="0123456789ABCDEF"
char_to_int={}
for idn,chr in enumerate(int_to_char):char_to_int[chr]=idn
def K_to_Ten(k,x):answer=0x=x[::-1]for i in range(len(x)):answer=answer+char_to_int[x[i]]*k**ireturn answer
print(K_to_Ten(16,"2021ABCD"))


http://www.ppmy.cn/devtools/156865.html

相关文章

使用WGAN(Wasserstein Generative Adversarial Network)网络对天然和爆破的地震波形图进行分类

项目概述 本项目旨在使用WGAN(Wasserstein Generative Adversarial Network)网络对天然和爆破的地震波形图进行分类。WGAN是一种生成对抗网络的变体,它通过引入Wasserstein距离来改善传统GAN训练不稳定的问题。我们将利用地震波形图数据训练WGAN的判别器,使其能够准确区分…

开源AI智能名片2 + 1链动模式S2B2C商城小程序:内容价值创造与传播新引擎

摘要:本文聚焦于信息爆炸时代下,内容价值的创造与传播。随着用户角色的转变,其在内容生产与传播中的价值日益凸显。同时,深入探讨开源AI智能名片2 1链动模式S2B2C商城小程序这一创新商业模式,如何借助用户创造内容并传…

Agentic Automation:基于Agent的企业认知架构重构与数字化转型跃迁---我的AI经典战例

文章目录 Agent代理Agent组成 我在企业实战AI Agent企业痛点我构建的AI Agent App 项目开源 & 安装包下载 大家好,我是工程师令狐,今天想给大家讲解一下AI智能体,以及企业与AI智能体的结合,文章中我会列举自己在企业中Agent实…

讯飞智作 AI 配音技术浅析(四):语音特征提取与建模

语音特征提取与建模是讯飞智作 AI 配音技术的核心环节,旨在将文本信息转化为高质量的语音信号。该过程依赖于深度学习模型,通过对大量高质量语音数据的训练,提取出关键的声学特征(如音素、音节、语调、语速等)&#xf…

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

反向代理模块anns

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…

CMake轻松实现把编译生成文件分类输出到指定路径,同时又拷贝一份到别的指定路径(Window/Linux通用)

使用CMake管理的C项目工程你是否有以下需求: 1.项目编译时将生成的文件分类自动输出到指定位置; 2.除了上面输出到指定位置以外,还要拷贝一份到指定位置(包含头文件,配置文件,第三方依赖库文件等&#xf…

Linux如何查看还剩余多少cpu资源

在 Linux 系统中,可以使用以下方法查看还剩余多少 CPU 资源: 方法 1:使用 top top进入 top 界面后,按 1 键,可以查看每个 CPU 核心的使用情况。关注 %Cpu(s) 这一行:%Cpu(s): 10.2 us, 2.5 sy, 0.0 ni,…