#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<=b;i++)
typedef long long LL;
int main()
{
string k;
string x;
string res;
cin>>k>>x;
for(int i=0;i<x.size();i++)
{
int j=i%(k.size());
if(x[i]>='a'&&x[i]<='z')
{
if(k[j]>='a'&&k[j]<='z')
{
res.push_back('a'+(x[i]-'a'-k[j]+'a'+26)%26);
}
else res.push_back('a'+(x[i]-'a'-k[j]+'A'+26)%26);
}
else{
if(k[j]>='a'&&k[j]<='z')
{
res.push_back('A'+(x[i]-'A'-k[j]+'a'+26)%26);
}
else res.push_back('A'+(x[i]-'A'-k[j]+'A'+26)%26);
}
}
cout<<res;
}
算法概论-作业3-席景科老师 D Vigenère 密码
最新推荐文章于 2024-07-11 21:13:07 发布