belfastqiu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  5 随笔 :: 0 文章 :: 0 评论 :: 34 阅读

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   Belfast_Qiu  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示