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

输入格式:

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

输出格式:

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

输入样例:
1234567 368782971
输出样例:
3695Q8118
思路
  • 本来两个字符串长度不一致的时候的处理方法是单独处理,可是WA了两个点,后来采用补上前导0对齐的方法之后就过了
代码
#include<bits/stdc++.h>
using namespace std; char get_char(int x)
{
if(x<=9 && x>=0)
return to_string(x)[0];
if(x == 10) return 'J';
if(x == 11) return 'Q';
if(x == 12) return 'K';
}
int get_value(char c)
{
if(c == 'J') return 10;
if(c == 'Q') return 11;
if(c == 'K') return 12;
return c - '0';
}
int main()
{
string a,b;
cin >> a >> b;
int odd = true; vector<char> ans;
int i = a.size() - 1;
int j = b.size() - 1;
if(i<j)
for(int k=0;k<j-i;k++) a = '0' + a;
else
for(int k=0;k<i-j;k++) b = '0' + b; int equal_length = max(i,j);
while(equal_length >= 0)
{
int value_a = get_value(a[equal_length]);
int value_b = get_value(b[equal_length]);
if(odd)
{
int value_mod = (value_a + value_b) % 13;
ans.push_back(get_char(value_mod));
}else
{
int value_sub = value_b - value_a;
if(value_sub < 0) value_sub += 10;
ans.push_back(get_char(value_sub));
}
equal_length--;
odd = !odd;
}
reverse(ans.begin(), ans.end());
for(int i=0;i<ans.size();i++)
cout << ans[i];
return 0;
}
引用

https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240

PTA(Basic Level)1048.数字加密的更多相关文章

  1. PTA(Basic Level)1012.数字分类

    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n ...

  2. PAT-乙级-1048. 数字加密(20)

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  3. PAT 乙级 1048 数字加密(20) C++版

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  4. PAT 1048 数字加密(20)(代码+思路)

    1048 数字加密(20)(20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取 ...

  5. PAT(B) 1048 数字加密(Java)字符串

    题目链接:1048 数字加密 (20 point(s)) 题目描述 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运 ...

  6. PTA(Basic Level)1006.Sign In and Sign Out

    At the beginning of every day, the first person who signs in the computer room will unlock the door, ...

  7. 来自PTA Basic Level的三只小野兽

    点我阅读原文 最近利用闲暇时间做了一下 PTA Basic Level[1] 里的题,里面现在一共有 95 道题,这些题大部分很基础,对于刷倦了 leetcode 的小伙伴可以去里面愉快的玩耍哦. 这 ...

  8. PAT (Basic Level) Practice (中文)1048 数字加密 (20 分)

    本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 ...

  9. PAT Basic 1048 数字加密 (20 分)

    本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 ...

随机推荐

  1. CDOJ 1135 邱老师看电影 概率dp

    邱老师看电影 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit St ...

  2. 洛谷比赛 U4858 sum

    U4858 sum 题目提供者666sb666 最新讨论 题目背景 定义一个序列的价值为序列中相邻元素差的绝对值之和. 如序列{2,1,3}的价值为|2-1|+|1-3|=3,而序列{4}的价值为0. ...

  3. AcWing:135. 最大子序和(前缀和 + 单调队列)

    输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大. 输入格式 第一行输入两个整数n,m. 第二行输入n个数,代表长度为n的整数序列. 同一行数之间用空格隔开 ...

  4. JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上

    JavaWeb-RESTful(一)_RESTful初认识 传送门 JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上 传送门 JavaWeb-RESTful(三)_使 ...

  5. mock的那点事

    前言: Mock在GitHub上有12.9K的star可以看出,它在技术团队中是挺受欢迎的.这项技术被应用在不同领域的项目中. 适用场景: 下面我结合我们技术团队,列举最适合引入我们Mock服务的场景 ...

  6. C++入门经典-例8.7-多态,利用虚函数实现动态绑定

    1:多态性是面向对象程序设计的一个重要特征,利用多态性可以设计和实现一个易于扩展的系统.在C++语言中,多态是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数,发出同样 ...

  7. 同样的WiFi,手机能连上网,电脑不能。错误代码DNS_PROBE_POSSIBLE

    今天电脑不知打为撒,出了这样个毛病,原因不明.先试着用电脑管家修复,无效.找了网上的很多办法,排除了dns.ip之类的问题.最后在贴吧里看到大神的解决办法,实测简单有效.链接http://tieba. ...

  8. 基于 XML 的 AOP 配置(1)

    本文连接:https://www.cnblogs.com/qzhc/p/11969734.html 接下来我将用一个很简单的实例 1. 环境搭建 1.1. 第一步:准备必要的代码 业务层代码: Acc ...

  9. HBuilder开发MUI web app溢出页面上下无法滚动问题

    因为没有对页面初始化,所以页面溢出部分不会显示,要解决此问题需要加上下面代码: JS代码: (function($){$(".mui-scroll-wrapper").scroll ...

  10. Example Bookstore schema showing how data is sharded DATABASE SHARDING

    w公共查询表复制至每一个碎片 http://www.agildata.com/database-sharding/ In the Bookstore example, the Primary Shar ...