Run ID:149036

提交时间:2026-03-06 18:46:09

#include <iostream> #include <string> using namespace std; int main() { string pwd; cin >> pwd; // 输入6位数字字符串 // 提取每一位数字(转成整型) int d1 = pwd[0] - '0'; int d2 = pwd[1] - '0'; int d3 = pwd[2] - '0'; int d4 = pwd[3] - '0'; int d5 = pwd[4] - '0'; int d6 = pwd[5] - '0'; // 逐位计算加密结果 char res[6]; // 第1位:数字0-9对应A-J(ASCII:A=65,J=74) res[0] = 'A' + d1; // 第2位:偶数÷2,奇数不变 res[1] = (d2 % 2 == 0) ? (d2 / 2 + '0') : (d2 + '0'); // 第3位:前3位和的个位 res[2] = (d1 + d2 + d3) % 10 + '0'; // 第4位:数字本身 res[3] = d4 + '0'; // 第5位:'l'(108)+'e'(101)=209 + d5,取十位 res[4] = ((209 + d5) / 10) % 10 + '0'; // 第6位:6位总和的个位 res[5] = (d1 + d2 + d3 + d4 + d5 + d6) % 10 + '0'; // 输出加密结果 for (int i = 0; i < 6; i++) { cout << res[i]; } cout << endl; return 0; }