1.八次翻转
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
char s[1001];
scanf("%s",s);
for (int i = 0; i < 8; i++) {
int l, r;
cin >> l >> r;
reverse(s+l, s+r);
}
cout << s;
return 0;
}
标准C中是没有reverse()函数的,这是C++的一个新增函数,使用需要包含头文件#include
reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数没有返回值
2.八次翻转
#include<bits/stdc++.h>
int main() {
char s[1001]; // 假设输入的数字字符串长度不超过100
scanf("%s", s);
int sum = 0;
int len = strlen(s);
for (int i = 0; i < len; i++) {
sum += s[i] - '0'; // 计算数位之和
}
if (sum % 3 == 0 && (s[len - 1] - '0') % 2 == 0) { // 数位之和是3的倍数,且末位是2的倍数
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
即便是字符,也是可以相互加减的,注意要减掉-'0'
浙公网安备 33010602011771号