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 数字加密的更多相关文章

  1. PAT B1048 数字加密 (20 分)

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

  2. 【算法笔记】B1048 数字加密

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

  3. PAT B1048 数字加密 (20)

    AC代码 #include <cstdio> #include <cstring> #include <algorithm> #include <iostre ...

  4. PAT 1048. 数字加密(20)

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

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

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

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

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

  7. PAT 1048 数字加密

    https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240 本题要求实现一种数字加密方法.首先固定一个加 ...

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

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

  9. PAT——1048. 数字加密

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

随机推荐

  1. 【待补充】Spark 集群模式 && Spark Job 部署模式

    0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...

  2. 3.1Python的判断选择语句

    返回总目录 目录: 1.if单分支语句 2.if else 双分支语句 3.if elif ...else多分支语句 4.if 嵌套语句 判断语句总览: (一)if单分支语句: 语法: if 条件: ...

  3. sql点滴45—mysql中group_concat用法

    group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组, ...

  4. 2018.08.31 16:26 调试 Swift 和 Pycharm 与 github 之间的链接

    花了一段时间调试Swift和Pycharm的链接,网上查了一下有关信息,再加上自己的摸索,一会就掌握了.

  5. vue2.0学习笔记之组件

    [易错点]:  1.   组件内html代码片段超过一个标签时必须套一个根元素,即template模板子元素只能是一个. 2.   组件名称采用横杠间隔命名时,第一个字母大写会报错.   写法一:全局 ...

  6. PID控制本版二

    https://gist.github.com/bradley219/5373998 特色: 比起第一版,加入了 最大最小值限制,暂无测试. PIDImpl( double dt, double ma ...

  7. 错误 ORA-01102: cannot mount database in EXCLUSIVE mode 的处理方法

    今天启动数据库时报错了! SQL> startup mount ORACLE instance started. Total System Global Area  608174080 byte ...

  8. Mysql 调优2个语句

    一.explain 语句 查看语句的执行计划 二.查看具体每一步耗时 .; .执行SQL .show profiles; 获取2执行SQL的query_id .show profile for que ...

  9. PAT B1030 完美数列 (25 分)

    给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. 输入格 ...

  10. php实现远程网络文件下载到服务器指定目录(方法一)

    PHP实现远程网络文件下载到服务器指定目录(方法一) <?php function getFile($url, $save_dir = '', $filename = '', $type = 0 ...