1 条题解
-
0
G3009 [GESP202406 三级] 移位 题解
知识点:字符编码、取模运算、循环输出。
解题思路
按字母表顺序输出'A'+(i+n)%26,i从0到25,完成循环移位。
为什么正确
字母序号取模26实现环形移动,顺序输出所有26个位置得到移位后的字母表。
易错点
Z之后需回到A,不能直接给字符编码加n而不取模。
复杂度
时间O(26),空间O(1)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin>>n; for(int i=0;i<26;i++)cout<<char('A'+(i+n)%26); }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用5个自行生成的测试点。
- 1