patB1048 数字加密

原创 2018年04月17日 21:31:07
#include <iostream>
#include <cstring> 
#include <algorithm>
using namespace std;
char map[13]={'0','1','2','3','4','5','6','7','8','9','J','Q','K'};
int main(int argc, char** argv) {
string a,b;
cin>>a>>b;
reverse(a.begin(),a.begin()+a.length());
reverse(b.begin(),b.begin()+b.size());
int lena=a.size();
int lenb=b.length();
char ans[102];


if(lenb>lena){
for(int i=0;i<lena && i<lenb;i=i+2){        //odds
ans[i]=map[((a[i]-'0')+(b[i]-'0'))%13];
}
for(int i=1;i<lena && i<lenb;i=i+2){        
if((b[i]-'0')-(a[i]-'0')<0) {
ans[i]=(b[i]-'0')-(a[i]-'0')+10+'0';
}else{
ans[i]=(b[i]-'0')-(a[i]-'0')+'0';
}
}
for(int i=lena;i<lena+lenb-lena;i++){
ans[i]=b[i];
}
}else{
string ss;
for(int i=lenb;i<lenb+lena-lenb;i++){
ss+='0';
}
b+=ss;
for(int i=0;i<lena;i=i+2){        //odds
ans[i]=map[((a[i]-'0')+(b[i]-'0'))%13];
}
for(int i=1;i<lena;i=i+2){        
if((b[i]-'0')-(a[i]-'0')<0) {
ans[i]=(b[i]-'0')-(a[i]-'0')+10+'0';
}else{
ans[i]=(b[i]-'0')-(a[i]-'0')+'0';
}
}
}
if(lenb>lena){
reverse(ans,ans+lenb);
ans[lenb]='\0';
}else{
reverse(ans,ans+lena);
ans[lena]='\0';
}

cout<<ans;
return 0;

}


软件加密-如何给C#软件加密/反编译简单演示/软件报毒的解决方案

-
  • 1970年01月01日 08:00

PATB1048:数字加密

PATB1048:数字加密【思路】: 输入 循环 判断,只需要对每个元进行一次操作即可【知识点】 杂类用hash表示 char has_z[3] = { 'J', 'Q', 'K' }; 【知识点...
  • qq_29475553
  • qq_29475553
  • 2016-09-04 20:03:47
  • 84

数字加密 vc++环境

  • 2010年05月22日 10:54
  • 34KB
  • 下载

PAT Basic 1048. 数字加密(20)(C语言实现)

题目 本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表1...
  • Oliver__Lew
  • Oliver__Lew
  • 2017-05-18 23:46:29
  • 446

PAT 1048. 数字加密

PAT 1048. 数字加密(20)题目 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B Problem Description 本题要求实现一种数字加密方法...
  • tuotq
  • tuotq
  • 2015-12-12 10:34:20
  • 2008

B1048. 数字加密(20)

1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, ...
  • sinat_29741049
  • sinat_29741049
  • 2015-12-06 01:17:36
  • 2375

白话数字签名.pdf

  • 2008年11月03日 13:17
  • 511KB
  • 下载

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

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

一种简易的数字加密方法

     这是我无意中写的一个简易的加密方法,现在放出来,其实是因为没有用了,不过是提醒自己,数字要加密而已,所以将这个放了出来,大家也可以看看,有好的加密方法的朋友,可以交流一下  public f...
  • zhoujieyaoqu
  • zhoujieyaoqu
  • 2011-04-28 10:44:00
  • 970

PAT-1048 数字加密20

很坑的题目,测试例子要求如果B的长度小于A,则在B前边填上0补齐,题目中并没有说。 #include #include #include #include using namespace s...
  • WeiJJ6608
  • WeiJJ6608
  • 2016-02-29 17:31:46
  • 692
收藏助手
不良信息举报
您举报文章:patB1048 数字加密
举报原因:
原因补充:

(最多只允许输入30个字)