数字x出现的次数
Description
试计算在区间1到n(1<=n<=10000)的所有整数中,数字x(0<=x<=9)共出现多少次?
Input
共一行,包含两个整数n、x,之间用一空格隔开。
Output
共一行,表示x出现的次数。
Sample Input
11 1
Sample Output
4
python解法
# 读取用户输入的两个整数n和x
n, x = map(int, input("").split())
# 初始化计数器
count = 0
# 循环从1到n,检查每一个数字
for i in range(1, n + 1):
# 将当前数字转换为字符串,以便能够遍历其每一位
str_i = str(i)
# 遍历当前数字的每一位
for digit in str_i:
# 如果当前位等于x,则增加计数器
if int(digit) == x:
count += 1
# 输出计数器的值
print(count)
c++解法
#include<bits/stdc++.h> // 这是一个包含大多数标准库头文件的头文件,通常用于编程竞赛中以便快速编写代码
using namespace std;
int main() {
int n, x, count = 0; // 定义三个整数变量:n(表示要检查的数字范围的上限),x(表示要查找的数字),count(用于计数数字x出现的次数)
cin >> n >> x; // 从标准输入读取n和x的值
for(int i = 1; i <= n; i++) { // 循环从1到n,检查每一个数字
int t = i; // 复制当前数字i到t,以便在后面的循环中修改t而不影响i
int p; // 定义一个整数变量p,用于存储t的个位数
while(t != 0) { // 当t不为0时,继续循环,用于检查t的每一位数字
p = t % 10; // 计算t的个位数并存储在p中
t = t / 10; // 移除t的个位数,以便下一次循环检查十位数
if(p == x) { // 如果p(即t的某一位数字)等于x
count++; // 则增加count的值,表示找到了一个x
}
}
}
cout << count << endl; // 输出count的值,即数字x在1到n的范围内出现的总次数
return 0; // 主函数返回0,表示程序正常结束
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=189
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=189
文章版权归作者所有,未经允许请勿转载。
THE END