2013NOIP普及组真题 1. 计数问题

线上OJ:

一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid=1961

核心思想:

本来想找规律,后来发现本题的数据范围不大,n为 1 0 6 10^6 106,即使每一位都判断一次,最坏的情况下时间复杂度也仅为 O ( 7 ∗ 1 0 6 ) O(7*10^6) O(7∗106),故本题可以考虑直接枚举,不需要去找数字上的规律了。

题解代码:
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int n, x, ans=0;

int main()
{
    cin >> n >> x;
    for(int i = 1; i <= n; i++)
    {
        int tmp = i;  // 这里需要用tmp代替i,因为i要++,i不能变
        while(tmp)  
        {
            if((tmp % 10) == x)  ans++;  // 如果最后一位是x,则ans++
            tmp = tmp / 10;    // 去除个位数字
        }
    }
    cout << ans << endl;
    return 0;
}
相关推荐
hanlin031 小时前
刷题笔记:力扣第43、67题(字符串计算)
笔记·算法·leetcode
yang_B6211 小时前
最小二乘法 拟合平面
算法·平面·最小二乘法
放下华子我只抽RuiKe51 小时前
深度学习全景指南:硬核实战版
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·数据挖掘
yangtuoni2 小时前
vscode调试C++程序
c++·ide·vscode
吴秋霖2 小时前
【某音电商】protobuf聊天协议逆向
python·算法·protobuf
m0_587958952 小时前
C++中的命令模式变体
开发语言·c++·算法
似水এ᭄往昔2 小时前
【数据结构】--链表OJ
数据结构·算法·链表
2501_924952692 小时前
代码生成器优化策略
开发语言·c++·算法
MORE_772 小时前
leecode100-划分区间-贪心算法
算法·贪心算法
Book思议-3 小时前
【数据结构实战】C语言实现栈的链式存储:从初始化到销毁,手把手教你写可运行代码
数据结构·算法·链表··408