B1048 数字加密
15/20
#include<bits/stdc++.h>
using namespace std;
stack<int> s;
char a[3]={'J','Q','K'};
int main(){
long long A,B;
cin>>A>>B;
int i=1;
while(A>0&&B>0){
if(i%2==1){
s.push((A%10+B%10)%13);
}else{
int x=B%10-A%10;
if(x<0)x+=10;
s.push(x);
}
A/=10;B/=10;
i++;
}
if(A>0)cout<<A;
if(B>0)cout<<B;
while(!s.empty()){
if(s.top()<=9)cout<<s.top();
else cout<<a[s.top()-10];
s.pop();
}
return 0;
}
后来觉得题目理解有问题,B的每一位数字都要处理。
15/20
#include<bits/stdc++.h>
using namespace std;
stack<int> s;
char a[3]={'J','Q','K'};
int main(){
long long A,B;
cin>>A>>B;
int i=1;
while(B>0){
if(i%2==1){
s.push((A%10+B%10)%13);
}else{
int x=B%10-A%10;
if(x<0)x+=10;
s.push(x);
}
if(A>0)A/=10;
B/=10;
i++;
}
while(!s.empty()){
if(s.top()<=9)cout<<s.top();
else cout<<a[s.top()-10];
s.pop();
}
return 0;
}
然而还是不行,看了其他人的博客,发现是因为没考虑这种A比B长的情况。

真是太奇葩了,明明和题目要求不符了嘛。再改。
#include<bits/stdc++.h>
using namespace std;
stack<int> s;
char a[3]={'J','Q','K'};
int main(){
long long A,B;
cin>>A>>B;
int i=1;
while(B>0||A>0){
if(i%2==1){
s.push((A%10+B%10)%13);
}else{
int x=B%10-A%10;
if(x<0)x+=10;
s.push(x);
}
if(A>0)A/=10;
if(B>0)B/=10;
i++;
}
while(!s.empty()){
if(s.top()<=9)cout<<s.top();
else cout<<a[s.top()-10];
s.pop();
}
return 0;
}
改完了,17/20,还有两个测试点没过。
B1048 数字加密的更多相关文章
- PAT B1048 数字加密 (20 分)
本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 ...
- 【算法笔记】B1048 数字加密
1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...
- PAT B1048 数字加密 (20)
AC代码 #include <cstdio> #include <cstring> #include <algorithm> #include <iostre ...
- PAT 1048. 数字加密(20)
本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代 ...
- PAT-乙级-1048. 数字加密(20)
1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...
- PAT 乙级 1048 数字加密(20) C++版
1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...
- PAT 1048 数字加密
https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240 本题要求实现一种数字加密方法.首先固定一个加 ...
- PAT 1048 数字加密(20)(代码+思路)
1048 数字加密(20)(20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取 ...
- PAT——1048. 数字加密
本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10.Q代表11.K代 ...
随机推荐
- dns服务器测试工具
下载地址:https://www.eatm.app/wp-content/uploads/2018/08/eDnsTest.20180810.zip
- Beta 冲刺 (1/7)
Beta 冲刺 (1/7) 队名:洛基小队 峻雄(组长) 已完成:β版的初步计划 后两天计划:设计角色的技能树 剩余任务:角色的技能 困难:关于技能施放以及相关伤害计算等的代码 非易 已完成:角色交互 ...
- Java读取json文件并对json数据进行读取、添加、删除与修改操作
转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0 1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...
- MySQL 在各种程序语音的连接字符串(转)
一.MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式 1.本地数据库连接Driver={MySQL};Server=localhost;Option=16834; ...
- [python]关于列表增加元素的几种操作
1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert(0,b) print a 输出: [[1, ...
- 6.Solr4.10.3API使用(CURD)
转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.在工程中引入solr-solrj-4.10.3.jar <dependency> <gr ...
- loli的搜索测试-我真不知道是第多少次了
搜索测试 又到了....并不激动人心的搜索测试时间. 今天和以前还是有一点不一样的,新高二的学长们也参加了(也就是说我们又要被吊打了) 话不多说,看题: fz:填一个5*5的质数方阵,要求每行,每列, ...
- NOI 2018网络同步赛(游记?)
刚中考完那段时间比较无聊,报名了一个同步赛,报完名才发现成绩单是要挂到网上的,而且因为报的早给了一个很靠前的考号...那布星啊,赶紧学点东西,于是在一周内学了网络流,Treap以及一些数论. Day1 ...
- 拯救U盘之——轻松修复U盘“无法访问”的故障
在使用U盘或者移动硬盘的过程中,大家是否和我一样,有个不好的操作习惯,明知不好但是在每次使用时都很少记得“安全删除硬件”,随手一把走人.终于出问题了,那天给mm复制完资料,拔了再插到自己的电脑上,打开 ...
- Spring Boot Actuator RCE
来看一下IDEA如何调试Spring Boot 先在https://github.com/artsploit/actuator-testbed下载源码 如下命令就能通过maven环境启动 mvn in ...