题解:P1980 [NOIP2013 普及组] 计数问题
kuaiCreator · · 题解
解题思路
对于十进制数,取模
如果数据范围很大,这样做会超时,可以学习数位动态规划解决本题。
代码实现
#include<bits/stdc++.h>
using namespace std;
int main() {
int m, x, ans = 0;
cin >> m >> x;
for (int i = 1; i <= m; i++) { //枚举区间[1,m]的数
int n = i; //避免i变成0造成死循环备份i的值
while (n) {
if (n % 10 == x) ans++; //个位为x累加答案
n /= 10;
}
}
cout << ans;
return 0;
}