题解 | #[NOIP2013]记数问题#

知识点:

复合类型:

一维数组:

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, x;
    int temp;
    vector<int> vec;

    cin >> n >> x;

    for (int i = 1; i <= n; i++) {
        temp = i;

        if (i < 10) {
            vec.push_back(i);
        } else {
            while (temp > 0) {
                vec.push_back(temp % 10);
                temp /= 10;
            }
        }
    }

    cout << count(vec.begin(), vec.end(), x);

    return 0;
}

// 解法一
/*
int main() {
    int n, x;
    int count = 0;

    cin >> n >> x;

    for (int i = 1; i <= n; i++) {
        int temp = i;

        while (temp > 0) {
            if (temp % 10 == x) {
                count++;
            }

            temp /= 10;
        }
    }

    cout << count;

    return 0;
}
*/


#算法#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-31 17:23
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务