网站建设 尚瑞科技,网站收费板块怎么做,岐山网站开发,扬中潘杰1048 数字加密 (20 分) 本题要求实现一种数字加密方法。首先固定一个加密用正整数 A#xff0c;对任一正整数 B#xff0c;将其每 1 位数字与 A 的对应位置上的数字进行以下运算#xff1a;对奇数位#xff0c;对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 1…1048 数字加密 (20 分) 本题要求实现一种数字加密方法。首先固定一个加密用正整数 A对任一正整数 B将其每 1 位数字与 A 的对应位置上的数字进行以下运算对奇数位对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12对偶数位用 B 的数字减去 A 的数字若结果为负数则再加 10。这里令个位为第 1 位。 输入格式
输入在一行中依次给出 A 和 B均为不超过 100 位的正整数其间以空格分隔。 输出格式
在一行中输出加密后的结果。 输入样例
1234567 368782971 输出样例
3695Q8118
#include iostream
#include algorithm
using namespace std;
int main() {string a, b, c;cin a b;int lena a.length(), lenb b.length();reverse(a.begin(), a.end());reverse(b.begin(), b.end());if (lena lenb) b.append(lena - lenb, 0);elsea.append(lenb - lena, 0);char str[14] {0123456789JQK};for (int i 0; i a.length(); i) {if (i % 2 0) {c str[(a[i] - 0 b[i] - 0) % 13];} else {int temp b[i] - a[i];if (temp 0) temp temp 10;c str[temp];}}for (int i c.length() - 1; i 0; i--)cout c[i];return 0;
}