TB椰程 TypeBuddy 打字搭子

计数问题

洛谷·深入浅出 · 代码 · cpp · 难度 3/5 · 共 426 字

统计 1..n 中数字 x 出现的总次数

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1378
// 题意:在 1 到 n 的所有整数中,数字 x(0-9)共出现了多少次。
// 思路:遍历每个数,逐位取数字与 x 比较计数。
// 复杂度:O(n * 位数)。
// 易错点:x 可以是 0,注意逐位剥离而非整体比较。
#include <iostream>
using namespace std;
int main(){
    int n, x, cnt = 0;
    cin >> n >> x;
    for(int i = 1; i <= n; i++){
        int t = i;
        while(t){
            if(t % 10 == x) cnt++;
            t /= 10;
        }
    }
    cout << cnt << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK