belfastqiu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.八次翻转

图一
图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.八次翻转

图一
图1:八次翻转
#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'

posted on 2025-02-22 10:32  Belfast_Qiu  阅读(15)  评论(0)    收藏  举报