AC代码

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std; const int max_n = 110;
int main() {
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif // ONLINE_JUDGE
char str[13] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K'};
char A[max_n], B[max_n], ans[max_n];
//把A,B中的每个元素都赋值'0'
// memset(A, '0', sizeof(A));
// memset(B, '0', sizeof(B));
scanf("%s %s", A, B);
// printf("%s %s\n", A, B);
// for(int i = 0; i < max_n; i++) {
// printf("%c", A[i]);
// }
// printf("\n");
int len_A = strlen(A);
int len_B = strlen(B);
// printf("lenA:%d lenB:%d\n", len_A, len_B);
//直接用STL里面的reverse函数直接反转
reverse(A, A + len_A);
reverse(B, B + len_B);
// printf("reserve A:%s B:%s\n", A, B);
int len = max(len_A, len_B);
// printf("max:%d\n", len);
for(int i = 0; i < len; i++) {
int numA = i < len_A ? A[i] - '0' : 0;
int numB = i < len_B ? B[i] - '0' : 0;
if(i % 2 == 0) {
ans[i] = str[(numA + numB) % 13];
// printf("%d:ans[%d] = %c\n", i, i, ans[i]);
}
if(i % 2 == 1) {
int temp = (numB - numA);
if(temp < 0) ans[i] = str[temp + 10];
else ans[i] = str[temp];
// printf("%d:temp = %d, ans[%d] = %c\n", i, temp, i, str[temp]);
// if(i >= 7) printf("B[%d]:%d A[%d]:%d\n", i, B[i]-'0', i, A[i]-'0');
}
}
reverse(ans, ans + len);
//puts(ans);
//printf("%s", ans);
// printf("max:%d\n", len);
for(int i = 0; i < len; i++) {
printf("%c", ans[i]);
}
return 0;
}

PAT B1048 数字加密 (20)的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. PAT 1048数字加密

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

随机推荐

  1. Tomcat怎么关闭日志输出

    tomcat中禁用catalina.out的输出,又可能很大. 1.直接修改catalina.sh文件的输出语句. 在文件中找到以下内容. if [ -z "$CATALINA_OUT&qu ...

  2. 使用 docker 快速安装 oracle 11g

    前言 我们在手动安装oracle数据库时,安装步骤纷繁复杂,耗时较长 在此介绍如何使用docker快速安装oracle 11g 一.docker 及其安装环境 操作系统: [root@centos7 ...

  3. Android解决AVD Hardware Buttons 和DPAD无法使用问题

    如图所示按键用鼠标点击时无法响应. 解决方案: 以我创建的AVD名为Tablet为例 1.找到用户目录(我的用户目录yummy),然后进入如下目录 mac: ~/yummy/.android/avd/ ...

  4. spring boot 全局异常处理及自定义异常类

    全局异常处理: 在处理controller层抛出的自定义异常时,可以实现@ControllerAdvice注解捕获,配合@ExceptionHandler来增强所有的@requestMapping方法 ...

  5. Tomcat安装应用部署及配置文件解读

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,APa ...

  6. LC 756. Pyramid Transition Matrix

    We are stacking blocks to form a pyramid. Each block has a color which is a one letter string, like ...

  7. B站动手学深度学习第十八课:seq2seq(编码器和解码器)和注意力机制

    from mxnet import nd h_forward = nd.array([1,2]) h_backward = nd.array([3,4]) h_bi = nd.concat(h_for ...

  8. 删除ELK的索引

    终于找到一个工具,curator,可以搜索相关信息. 记录一下: 1,查询索引:   curator_cli --host 10.2.16.191 --port 9200 show_indices - ...

  9. avast关闭DeepScreen

    在“设置”-“防病毒”-去掉“启用 DeepScreen”.

  10. python-Web-django-后台

    url: # member 处理 re_path('member/list/', member.list, name='member/list/'), re_path('member/list_par ...