求解:前一个数字的个位等于后一个数字的十位

题目描述

在一个悠闲的午后,集训队唯一的学姐正在她的画板上描绘一副神秘的画作。画作由一些连续的数字组成,画作中的每一对相邻的数字都遵循一个规则:前一个数字的个位应该等于后一个数字的十位。然而,集训队唯一的学姐在绘画的过程中,可能会因为分心而违反这个规则。

李聪明看到集训队唯一的学姐的画作后,非常好奇有多少对数字是不遵循这个规则的。现在,李聪明把这个问题交给你,希望你能帮他找出答案(李毕竟是聪明,不想找出答案很正常(太简单了))。

输入

第一行包含一个整数 N(2≤N≤1000),表示画作中的数字个数。

第二行包含 N 个正整数,表示画作中的数字。每个数字都是一个正整数,并且正好有两位。

输出

第一行应包含一个整数,表示不遵循规则的数字对的数量。

源代码

#include <iostream>
#include <vector>

int countPairsWithRuleViolation(const std::vector<int>& numbers) {
    int count = 0;
    for (int i = 0; i < numbers.size() - 1; ++i) {
        if (numbers[i] % 10 != numbers[i + 1] / 10) {
            count++;
        }
    }
    return count;
}

int main() {
    int N;
    std::cin >> N;
    std::vector<int> numbers(N);
    for (int i = 0; i < N; ++i) {
        std::cin >> numbers[i];
    }
    std::cout << countPairsWithRuleViolation(numbers) << std::endl;
    return 0;
}

在这个示例中,程序首先读入画作中的数字个数 N,然后读入 N 个正整数表示画作中的数字。接着调用 countPairsWithRuleViolation 函数计算不遵循规则的数字对的数量,并输出结果。

运行截图

图片[1]-求解:前一个数字的个位等于后一个数字的十位-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享