题解
【入门】加密四位数
1 条题解
-
0
解题思路
逐位加5取余,再从最后一位向前输出,完成加密和反转。
参考代码
#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; for (int i = 0; i < 4; i++) { int a = s[i] - '0'; // 每一位先加5,再对10取余数。 s[i] = (a + 5) % 10 + '0'; } // 从最后一位到第一位输出,就完成了颠倒。 for (int i = 3; i >= 0; i--) cout << s[i]; // 逐位处理可以保留每一位的数字形式。 return 0; }复杂度分析
代码只使用了简单变量、循环和字符串。设输入长度为 n,时间复杂度为 O(n^2)(若有嵌套枚举则按实际循环计算),额外空间复杂度为 O(n)。
- 1