[GESP202406 二级] 计数
GESP二级真题,多层循环和分支练习,难度★✮☆☆☆。
luogu-B4007 [GESP202406 二级] 计数
题目要求
题目描述
小杨认为自己的幸运数是正整数 (注:保证 )。小杨想知道,对于从 到 的所有正整数中, 出现了多少次。
输入格式
第一行包含一个正整数 。
第二行包含一个正整数 。
输出格式
输出从 到 的所有正整数中, 出现的次数。
样例输入 #1
25
2
样例输出 #1
9
提示
从 到 中, 出现的正整数有 ,一共出现了 次。
对于全部数据,保证有 。
题目分析
解题思路
- 读取输入的整数 和 。
- 初始化一个计数器,用于统计数字 出现的次数。
- 遍历从 到 的所有整数。
- 对于每个整数,循环除以 直到该整数为 。
- 在每次循环中,通过余数取到每一位书,判断余数是否为 ,如果是,则计数器加 。
- 遍历完毕后,输出计数器的值,即数字 出现的次数。
{% include custom/custom-post-content-inner.html %}
示例代码
#include<iostream>
using namespace std;
int main(){
int n, k, ans = 0; // 定义变量n、k和ans,ans初始化为0
cin >> n >> k; // 从标准输入流中读取n和k的值
for (int i = 1; i <= n; i++) { // 从1到n遍历每个整数
int che = i; // 将当前整数赋值给che
while (che != 0) { // 当che不为0时循环
int z = che % 10; // 计算che除以10的余数,并赋值给z
if (z == k) { // 如果z等于k
ans++; // 将ans加1
}
che /= 10; // 将che除以10
}
}
cout << ans; // 输出ans的值
return 0; // 程序结束
}
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on