题目地址:
https://www.acwing.com/problem/content/description/766/
给定一个字符串 a a a,请你按照下面的要求输出字符串 b b b。给定字符串 a a a的第一个字符的ASCII值加第二个字符的ASCII值,得到 b b b的第一个字符;给定字符串 a a a的第二个字符的ASCII值加第三个字符的ASCII值,得到 b b b的第二个字符;…给定字符串 a a a的倒数第二个字符的ASCII值加最后一个字符的ASCII值,得到 b b b的倒数第二个字符;给定字符串 a a a的最后一个字符的ASCII值加第一个字符的ASCII值,得到 b b b的最后一个字符。
输入格式:
输入共一行,包含字符串
a
a
a。注意字符串中可能包含空格。数据保证字符串内的字符的ASCII
值均不超过
63
63
63。
输出格式:
输出共一行,包含字符串
b
b
b。
数据范围:
2
≤
l
a
≤
100
2≤l_a≤100
2≤la≤100
代码如下:
#include <iostream>
using namespace std;
int main() {
string s;
getline(cin, s);
for(int i = 0; i < s.size(); ++i)
printf("%c", s[i] + s[(i + 1) % s.size()]);
return 0;
}
时间复杂度 O ( l a ) O(l_a) O(la),空间 O ( 1 ) O(1) O(1)。