【2023年信息素养大赛小学组C++智能算法复赛真题】

目录

1.判断数字出现了几次

2.捡石头

3.统计考试成绩

4、配备书的方案


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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 09:56:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 09:56:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 09:56:05       58 阅读
  4. Python语言-面向对象

    2024-07-16 09:56:05       69 阅读

热门阅读

  1. Ajax是什么?如何在HTML5中使用Ajax?

    2024-07-16 09:56:05       24 阅读
  2. C 语言 do while 语句

    2024-07-16 09:56:05       25 阅读
  3. Apache Spark 的基本概念和在大数据分析中的应用

    2024-07-16 09:56:05       21 阅读
  4. Linux上启动和停止jar

    2024-07-16 09:56:05       25 阅读