帮帮孩子吧
2024-10-07 22:17:59
发布于:广东
求求了QaQ
本人有一道题不会,帮帮孩子吧。
题:
小张是一名数学爱好者,他对数字的出现规律很感兴趣。有一天,他想到了这样一
个问题:在区间 1 到 33 的所有整数中,数字 3 共出现了几次?
现在小张想知道在区间 1 到 n 的所有整数中,数字 z 共出现了多少次?请你帮助小张解
决这个问题,并给出你的答案和解题思路。
输入格式
输入共 1 行,包含 2 个整数 n(1≤n≤1,000,000)、z(0≤z≤9),之间用一个空格隔
开。
输出格式
输出共 1 行,包含一个整数,表示 z 出现的次数。
样例组
输入#1
33 3
输出#1
14
输入#2
45 5
输出#2
5
提示说明
1≤n≤1,000,000,0≤z≤9。
全部评论 2
#include <iostream> #include <string> using namespace std; // 计算数字 z 在 1 到 n 范围内出现的次数 int cs(int n, int z) { int count = 0; // 将数字 z 转换为字符方便比较 char digit = '0' + z; // 遍历从 1 到 n 的所有数字 for (int i = 1; i <= n; ++i) { // 将数字 i 转换为字符串 string s = to_string(i); // 统计字符串中 digit 出现的次数 for (char c : s) { if (c == digit) { count++; } } } return count; } int main() { int n, z; // 读取输入 cin >> n >> z; // 调用函数并输出结果 cout << cs(n, z) << endl; return 0; }
2024-11-26 来自 广东
0输出#1不对
2024-11-26 来自 广东
0
#include<bits/stdc++.h> using namespace std; int main(){ int a,b,c=0; cin>>a>>b; for(int i=1;i<=a;i++;){ int j=i; while(j!=0){ if(a%10==b) c++; j/=10; } } cout<<c; return 0; }
不确定是不是对的,也许吧
样例1有错,输出应该是82024-11-25 来自 浙江
0
有帮助,赞一个