题解
2025-12-01 18:58:52
发布于:湖南
4阅读
0回复
0点赞
#include <iostream>
#include <string>
using namespace std;
int main() {
string key, original;
getline(cin, key);
getline(cin, original);
string result;
int key_len = key.size();
int original_len = original.size();
for (int i = 0; i < original_len; ++i) {
// 计算当前密码环的索引(循环使用)
int key_idx = i % key_len;
// 转换为字母表中的位数(a=1, b=2,...z=26)
int key_num = key[key_idx] - 'a' + 1;
int original_num = original[i] - 'a' + 1;
// 计算新的位数,对26取模(处理循环)
int new_num = (key_num + original_num - 1) % 26 + 1;
// 转换回字符
result += (new_num - 1) + 'a';
}
cout << result << endl;
return 0;
}
这里空空如也




有帮助,赞一个