【华为OD机试】1025 - 字符串加解密
文章目录
- 一、题目
- 🔸题目描述
- 🔸输入输出
- 🔸样例1
- 二、代码参考
- 作者:KJ.JK
🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
🍂个人博客首页: KJ.JK
💖系列专栏:华为OD机试(Java&Python&C语言)
一、题目
🔸题目描述
对输入的字符串进行加解密,并输出。
加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
解密方法为加密的逆过程。
🔸输入输出
输入
第一行输入一串要加密的密码
第二行输入一串加过密的密码
输出
第一行输出加密后的字符
第二行输出解密后的字符
🔸样例1
输入
abcdefg
BCDEFGH输出
BCDEFGH
abcdefg
二、代码参考
import java.util.Scanner;public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);while(in.hasNext()){System.out.println(encode(in.nextLine()));System.out.println(decode(in.nextLine()));}}//加密函数private static String encode(String code){char[] t = code.toCharArray(); //将String对象转换为字符数组for(int i=0; i < t.length; i++){if(t[i]>='a' && t[i]<'z')t[i] = (char)(t[i] - 'a' + 'A' + 1);else if(t[i] == 'z')t[i] = 'A';else if(t[i]>='A' && t[i]<'Z')t[i] = (char)(t[i] - 'A' + 'a' + 1);else if(t[i] == 'Z')t[i] = 'a';else if(t[i]>='0' && t[i]<'9')t[i] = (char)(t[i]+1);else if(t[i] == '9')t[i] = '0';}return String.valueOf(t);}//解密函数private static String decode(String password){char[] t = password.toCharArray();for(int i=0; i < t.length; i++){if(t[i]>'a' && t[i]<='z')t[i] = (char)(t[i] - 'a' + 'A' - 1);else if(t[i] == 'a')t[i] = 'Z';else if(t[i]>'A' && t[i]<='Z')t[i] = (char)(t[i] - 'A' + 'a' - 1);else if(t[i] == 'A')t[i] = 'z';else if(t[i]>'0' && t[i]<='9')t[i] = (char)(t[i]-1);else if(t[i] == '0')t[i] = '9';}return String.valueOf(t);}
}--------------------------------------------------------def check(a,b):L1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"L2 = "BCDEFGHIJKLMNOPQRSTUVWXYZAbcdefghijklmnopqrstuvwxyza1234567890"result = ""if b == 1:for i in a:result += L2[L1.index(i)]elif b == -1:for i in a:result += L1[L2.index(i)]return result
while True:try:print(check(input(),1))print(check(input(), -1))except:break--------------------------------------------------------------#include <stdio.h>
#include <string.h>//以下是Senky的代码:
//a的ASCII:97
//A的ASCII:65
//0的ASCII:48
void code(char* str, int len) {//加密for (int i = 0; i < len; i++) {if (str[i] >= 'a' && str[i] < 'z') { //小写字母a-ystr[i] = str[i] + 'A' - 'a' + 1; //先转大写,再后移} else if (str[i] == 'z') { //z单独处理str[i] = 'A';} else if (str[i] >= 'A' && str[i] < 'Z') { //大写字母A-Ystr[i] = str[i] + 'a' - 'A' + 1; //先转小写,再后移} else if (str[i] == 'Z') { //大写字母Z单独处理str[i] = 'a';} else if (str[i] >= '0' && str[i] < '9') { //数字0-8str[i] = str[i] + 1; //数字后移} else if (str[i] == '9') str[i] = '0'; //数字9单独处理}
}
void decode(char* str, int len) { //解密for (int i = 0; i < len; i++) {if (str[i] > 'a' && str[i] <= 'z') { //小写字母b-zstr[i] = str[i] + 'A' - 'a' - 1; //先转大写,再前移} else if (str[i] == 'a') { //z单独处理str[i] = 'Z';} else if (str[i] > 'A' && str[i] <= 'Z') { //大写字母B-Zstr[i] = str[i] + 'a' - 'A' - 1; //先转小写,再前移} else if (str[i] == 'A') { //大写字母A单独处理str[i] = 'z';} else if (str[i] > '0' && str[i] <= '9') { //数字1-9str[i] = str[i] - 1; //数字前移} else if (str[i] == '0') str[i] = '9'; //数字0单独处理}
}void start() {char str[1001];//要加密的字符char st[1001];//要解密的字符scanf("%[^\n]\n%s\n", str, st);//读取字符串int len = strlen(str);//密码长度code(str, len); //加密printf("%s\n", str);len = strlen(st);//密码长度decode(st, len); //解密printf("%s\n", st);
}int main() {start();return 0;//编辑于2022/10/14
}
作者:KJ.JK
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习
相关文章:

【华为OD机试】1025 - 字符串加解密
文章目录一、题目🔸题目描述🔸输入输出🔸样例1二、代码参考作者:KJ.JK🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x…...

阿里云版GPT官宣,我们问了它10个问题
4月7日,阿里云宣布自研大模型“通义千问”,目前已开始邀请用户测试体验。 阿里达摩院在NLP自然语言处理等前沿科研领域早已布局多年,并于2019年启动大模型研发,通义千问便是其最新成果,相当于阿里云版的“ChatGPT”。 …...
ORM框架之NHibernate
什么是NHibernate NHibernate是一个开源的对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式来访问关系型数据库。它是Hibernate框架的C#版本,Hibernate框架是Java平台上的ORM框架。 使用NHibernate,您可以将…...
凑微分练习
前言 在学习第一类换元法(凑微分法)时,我们常常需要凑微分。为了更加熟练地运用凑微分法,下面有几道凑微分例题供大家练习。 记住df(x)f′(x)dxdf(x)f(x)dxdf(x)f′(x)dx 例题1 dx‾d(ax)dx\underline{\quad}d(ax)dxd(ax)dx‾…...

JavaWeb——多线程使用哈希表
目录 一、HashMap 1、定义 二、HashTable 1、定义: 2、区别: 三、ConcurrentHashMap 1、定义: 2、优化 (1)、加锁粒度不同——触发锁冲突的频率不同 (2)、充分利用CAS机制——无锁编程…...
anaconda permission denied
可能是路径不对 我的是只写了dir,没写文件名,而我要的是某个文件的路径,所以就报这个错。 具体,我需要某个权重的路径,比如pytorch_resnet50.pth,但我只写了这个权重所在的dir,比如F:/software/…...

蓝桥杯带刷,带刷!!!
A:::::::::::::::::::::::::::::::::::m计划(双指针,滑动窗口,倍增) 题目描述 小明是个鹅卵石收藏者,从小到大他一共收藏了 nn 块鹅卵石,编号分别为 1∼n,价值分别为 a1,a2&…...

第03讲:MinIO分布式文件服务器
一、什么是MinIO Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能。 官网地址:MinIO | High Performance, Kubernetes Native Object Storageopen in new window官网文档地址:MinIO | The MinIO Qui…...
WireShark
wireshark 常用命令: frame.len 帧数据总长度:包含MAC头IP头UDP头UDP数据 eg: 1、 重传命令的长度是62, Frame.len 62 2、 长度大于200的包,frame.len > 200 3、 长度小于80的包,frame.len < 80 Ip.src 数据包的发送源IP地…...
Thinkphp 6.0多语言
本节课我们来学习一下如何配置的多语言功能,并实现调用方法。 一.多语言 1. 如果要开启多语言切换功能,中间件定义文件 middleware.php 开启; // 多语言加载 \think\middleware\LoadLangPack::class, 2. 配置文件在 config/lang…...

生成式AI已形成全球性“AI再造业务”趋势
3月28日至31日,博鳌亚洲论坛2023年年会在海南举行。实体经济与数字经济如何融合发展,产业数字化如何加速向深层次拓展,生成式AI会给产业经济带来哪些变革?这些话题成为今年论坛热点。 百度集团执行副总裁、百度智能云事业群总裁沈…...

kubesphere 安装 skywalking
kubesphere 安装 skywalking 前言 在测试ELK过程中,框架内部使用skywalking来插入的traceId,没有服务端导致Ignored_Trace,先安装下试试skywalking使用效果,后面考了替换为Tlog 先来安装skywalking… 1. 导入helm原 地址&#x…...

乐鑫 × 全国大学生物联网设计竞赛|探究基于 ESP32-S3 的农业革新应用
2023 年全国大学生物联网设计竞赛(下简称“竞赛”)现已官宣启幕!乐鑫科技 (688018.SH) 作为竞赛金牌合作伙伴,将为同学们带来基于 AI SoC ESP32-S3 的独立竞赛任务,并全程提供软硬件开发资源、技术培训…...

【技术分享】华为防火墙多出口接入到Internet
组网需求 如图1所示,FW作为安全网关部署在网络出口,企业分别从ISP1和ISP2租用一条链路。 企业希望访问Server 1的报文从ISP1链路转发,访问Server 2的报文从ISP2链路转发。 当其中一条链路故障时,后续流量可以通过另一条链路转发…...

Winnolin绘制药时曲线图C-T
文章目录前言一、各受试者C-T图1.导入数据2.设置-运行2.查看结果,修改参数二、各制剂C-T图1.导入数据2.设置-运行2.查看结果,修改参数三、平均C-T图1.计算统计量2.设置统计量计算参数(Set Up)3.绘图XY Plot4.查看结果,…...
Kafka系列——详解如何使用和配置生产者实现可靠的消息发送
在可靠的系统里使用生产者 即使我们尽可能把 broker 配置得很可靠,但如果没有对生产者进行可靠性方面的配置,整个系统仍然有可能出现突发性的数据丢失。 比如下面的两个例子: (一)为 broker 配置了 3 个副本࿰…...

wordpres漏洞扫描器——wpscan
WordPress 使用PHP语言开发的博客平台 WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。 WordPress是一款个人博客系统,…...

代码随想录_二叉树_leetcode112、113
leetcode112 路径总和 112. 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返…...
mongo-db相关方法
一、参数 名称描述db.adminCommand()针对admin数据库运行命令。db.aggregate()运行不需要基础集合的管理/诊断管道。db.cloneDatabase(hostname)不推荐使用。当针对MongoDB 4.0或更早版本运行时,将数据库从远程主机复制到当前主机。针对MongoDB 4.2或更高版本运行时…...

《Vue3实战》 第二章 创建项目和目录结构
1、创建项目 1.1、命令格式:vue create 项目名称 vue create vue3_example0011.2、运行项目 npm run serve1.2.1、增加run命令 启动时想修改命令,例如: npm run dev1、找到项目根路径下的package.json文件; 2、找到【scripts…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...