目录
1.判断数字出现了几次
【题目描述】给定一个正整数n,判断从1到这个数本身的所有数中,一共出现了多少次数字K
【输入格式】输入共1行,包括一个正整数n和一个正整数k。(0<n<32767,0<k<10)【输出格式】输出共1行,一个整数,表示1到n之间的所有数(包括n),一共出现了几次k。
【样例输入】(测试数据不包含本样例)
13 3
【样例输出】
2
#include <bits/stdc++.h>
using namespace std;
/*对于从 1 到 n 的每一个数字,通过不断将其除以 10 并取余数的方式,
来检查每一位数字是否为指定的数字 k,如果是则计数加 1。
例如,如果 n = 13,k = 3:
对于数字 1,没有数字 3,计数不变。
对于数字 2,没有数字 3,计数不变。
对于数字 3,有数字 3,计数加 1。
对于数字 4 - 12,都没有数字 3,计数不变。
对于数字 13,十位数字不是 3,个位数字是 3,计数再加 1,最终计数为 2。*/
int countOccurrences(int n, int k) {
int count = 0;
for (int i = 1; i <= n; i++) {
int num = i;
while (num!= 0) {
if (num % 10 == k) {
count++;
}
num /= 10;
}
}
return count;
}
int main() {
int n, k;
cin >> n >> k;
int result = countOccurrences(n, k);
cout << result << endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
/*因为要判断1-n之间的数,因此,第7行循环用于实现每个数的判断;
逐一选取给定数字的各个数位,与给定的目标正整数k判断是否相等*/
int main() {
int n,k,cnt=0