数字加密

#include<bits/stdc++.h>
using namespace std;

int main() {
	string a,b,answer;
	cin>>a>>b;
	reverse(a.begin(),a.end());
	reverse(b.begin(),b.end());
	int n=a.size(),m=b.size();
	int L=max(n,m);
	for(int i=0;i<L;i++){
		int num1=i<n?a[i]-'0':0;
		int num2=i<m?b[i]-'0':0;
		if(i%2==0){
			if((num1+num2)%13==10) answer+='J';
			else if((num1+num2)%13==11) answer+='Q';
			else if((num1+num2)%13==12) answer+='K';
			else answer+=(num1+num2)%13+'0';
		}
		else{
			if(num1>num2){
				answer+=(num2-num1)+10+'0';
			}else answer+=(num2-num1)+'0';
		}
	}
	reverse(answer.begin(),answer.end());
	cout<<answer<<endl;
	return 0;
}

全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 15:37
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务