1048 数字加密(PAT乙级 C++)

题目

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。

输入格式:

输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。

输出格式:

在一行中输出加密后的结果。

输入样例:

1234567 368782971

输出样例:

3695Q8118

分析

  • 输入格式已经给出了要求,A,B的大部分测试用例都在int和long long外,所以A,B只能用字符串或者字符数组来存储。
  • A和B的位数存在不相等的时候,所以要用0来补高位,考虑正向不好补,可以逆序后再加0。
  • 所以先求出两个数的位数并把较大的用max存下来,并新建两个数组,长度为max+1(方便判断奇偶),初始化为 ‘0’ ,将A和B分别逆序存。
  • 然后按照题目规则计算各位结果,用一个字符串累加结果,最后逆序输出即可。

AC代码

#include<iostream>
#include<string>
using namespace std;
int main(int argc, char** argv)
{int i,len1,len2,max;string m,n,ans="";cin>>m>>n;len1=m.length();len2=n.length();max=len1>len2?len1:len2;char ch1[max+1],ch2[max+1];for(i=1; i<max+1; i++){ch1[i]='0';ch2[i]='0';}for(i=1; i<max+1; i++){if(i<=len1)ch1[i]=m[len1-i];if(i<=len2)ch2[i]=n[len2-i];}for(i=1; i<max+1; i++){if(i%2!=0){int t=(ch1[i]-'0'+ch2[i]-'0')%13;if(t==10)ans+='J';else if(t==11)ans+='Q';else if(t==12)ans+='K';elseans+=to_string(t);}else{int t=ch2[i]-ch1[i];if(t<0)t+=10;ans+=to_string(t);}}for(i=max-1; i>=0; i--){cout<<ans[i];}return 0;
}

如果您有任何问题或其他解法,欢迎评论区留言o

更多题解
pat 乙级(Basic Level) 题解汇总(持续更新)(C++)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在浏览器中在线尝试无服务器框架项目!

无服务器框架是无服务器工具的一致领导者。 但是&#xff0c;没有简单的方法可以在线试用无服务器框架项目。 您确实需要一个体面的开发人员设置&#xff0c;并且需要一些工作来设置sls &#xff0c; npm等。 确切地说&#xff0c;您做到了 –直到现在。 无服务器项目–在您的…

Dev C++源代码未编译

从DevC官网下载的编译器&#xff0c;结果编译程序没问题&#xff0c;但是运行程序时显示源文件未编译。 尝试很多方法。&#xff08;官网下载不一定最佳&#xff09;最后通过在其他网站下载重装DevC问题得以解决。 后一个DevC下载网址&#xff1a; https://pc.qq.com/detail/1…

1051 复数乘法(PAT乙级 C++)

题目 复数可以写成 (ABi) 的常规形式&#xff0c;其中 A 是实部&#xff0c;B 是虚部&#xff0c;i 是虚数单位&#xff0c;满足 i​2​​ −1&#xff1b;也可以写成极坐标下的指数形式 (Re​(Pi))&#xff0c;其中 R 是复数模&#xff0c;P 是辐角&#xff0c;i 是虚数单位&…

java se/ee_嗨,您好 。 。 ! 您如何评价Java / Java EE技能?

java se/ee要知道&#xff0c;就是要知道你一无所知。 那就是真正知识的含义。 苏格拉底 这篇文章旨在为读者提供Java生态系统及其技术堆栈的快速概述。 老实说&#xff0c;从Java EE 7&#xff0c;Java SE 8到Java Embedded 8…&#xff0c;Java平台进行了许多革命性的更改…

SystemC在Ubuntu16.04上安装测试

使用SystemC进行硬件仿真 环境 linux-x86-64bashg 下载解压SystemC SystemC下载地址 解压下载的包 tar zxvf systemc-2.3.3.tar.gz 进入解压出来的目录&#xff0c;准备编译安装 cd systemc-2.3.3 编译安装 打开安装说明文件INSTALL vim INSTALL 按照步骤安装 Create a tem…

1053 住房空置率(PAT乙级 C++ 坑点分析)

题目 在不打扰居民的前提下&#xff0c;统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下&#xff1a; 在观察期内&#xff0c;若存在超过一半的日子用电量低于某给定的阈值 e&#xff0c;则该住房为“可能空置”&#xff1b;若观察期超过某给…

Java:从Java 8开始受益于内联类属性

希望在几年内&#xff0c;Java将具有“内联类”功能&#xff0c;该功能可以解决Java当前状态下的许多挑战。 阅读本文并学习如何立即使用Java 8或更高版本&#xff0c;并且仍将受益于即将出现的内联对象数组的一些优点&#xff0c;例如&#xff1b; 没有间接指针&#xff0c;消…

1054 求平均值(PAT乙级 C++)

题目 本题的基本要求非常简单&#xff1a;给定 N 个实数&#xff0c;计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数&#xff0c;并且最多精确到小数点后 2 位。当你计算平均值的时候&#xff0c;不能把那些非法的数…

ubuntu16.04下安装ibus拼音

按照网上给的安装方法&#xff0c;没成功&#xff0c;在切换ibus的时候总是报错&#xff0c;记录下解决办法。 安装语言包 System Settings–>Language Support–>Install/Remove Languages 选中chinese&#xff0c;点击Apply应用即可&#xff0c;等待下载安装完成。 …

1057 数零壹(PAT乙级 C++实现)

题目 给定一串长度不超过 10​5 的字符串&#xff0c;本题要求你将其中所有英文字母的序号&#xff08;字母 a-z 对应序号 1-26&#xff0c;不分大小写&#xff09;相加&#xff0c;得到整数 N&#xff0c;然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 P…

解决Ubuntu中sublime无法输入中文的问题

主要目的&#xff1a; 安装 Sublime Text 3 安装 Fcitx 输入法 皮肤 修复 Sublime Text 3 在 Ubuntu(Debian) 系统下的无法输入中文(CJK 字符)输入法的问题 注意&#xff1a; 这个修复仅当在终端中使用 subl . 调用 Sublime Text 的时有效, 具体原因请看源代码src/s…

java编程访问hdfs_以编程方式访问Java基本类型的大小

java编程访问hdfs许多不熟悉Java的开发人员首先要了解的一件事是Java的基本原始数据类型 &#xff0c;其固定&#xff08;与平台无关&#xff09;的大小&#xff08;以位或字节为单位用二进制补码表示 &#xff09;以及它们的范围&#xff08;Java中所有数字类型都是带符号的&a…

1059 C语言竞赛(PAT乙级 C++)

题目 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩&#xff0c;颁奖规则也就制定得很滑稽&#xff1a; 0、冠军将赢得一份“神秘大奖”&#xff08;比如很巨大的一本学生研究论文集……&#xff09;。1、排名为素数的学生将赢得最好的奖品 —…

【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

一、基本配置 开发环境&#xff1a;ubuntu16.04 二、准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的&#xff0c;所以选择64位 1、拷贝搜狗输入法到ubuntu cp /media/sf_share/6q/sogoupinyin_2.3.1.0112_amd64.deb . 2、安装搜狗输入法 首次安装会报…

Spring Boot和Hibernate:打印查询和变量

办公室已经很晚了&#xff0c;您陷入了这个带有JoinColumns和层叠的奇怪的Jpa代码中&#xff0c;而您找不到错误所在。 您希望有一种方法可以查看打印的查询以及值。 稍微调整一下Spring Boot应用程序就可以实现。 借助lombock&#xff0c;这是我们的jpa模型。 package com.g…

解决SSH登录无响应timed out问题

输入 ssh usernamexx.xx.xx.xx光标一直闪烁&#xff0c;直到提示连接超时timed out。 这是因为服务器端的防火墙禁用了ssh服务的端口&#xff0c;默认为22. 有两种解决方法&#xff1a; 1&#xff09;直接禁用防火墙 2&#xff09;只开启22号端口 以Ubuntu为例&#xff1a; 1&…

restful json_Dropwizard:轻松的RESTful JSON HTTP Web服务

restful json寻求快速&#xff0c; 轻松地创建可用于生产环境的RESTful JSON HTTP Web服务的Java开发人员应考虑使用Dropwizard框架。 Dropwizard汇集了相互补充的广受好评的库&#xff0c;因此您可以了解重要的内容&#xff1a;编写和交付工作代码。 对于那些对所用库的详细信…

1061 判断题(PAT乙级 C++)

题目 判断题的评判很简单&#xff0c;本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式&#xff1a; 输入在第一行给出两个不超过 100 的正整数 N 和 M&#xff0c;分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数&#xff0c;是…

gem for onenote安装教程

https://www.xiazaiba.com/jiaocheng/52255.html

使用Java :: Geci生成setter和getter

在本文中 &#xff0c;我们创建了非常简单的hello-world生成器&#xff0c;以介绍框架以及通常如何生成生成器。 在本文中&#xff0c;我们将研究访问器生成器&#xff0c;它是在Java :: Geci的核心模块中定义的&#xff0c;它是商业级的&#xff0c;而不是仅用于演示的生成器。…