问这个的做法
幸运数(lucky)
【题目描述】
抽奖环节让所有的同学都很兴奋,有的同学兴奋是因为抽到了想要的东西,
但有的同学抽到的却是不想要的。还有的人则抽到了好几个奖,羡慕死其他同学
了。
在联欢会临近结束的时候,抽奖的最后一个环节是同学们可以把自己的奖品
让给其他同学,但是让的话也是有规则的。这个规则就是用幸运数来指定。一位
获奖的同学,他要根据自己的抽奖号码 n,然后想一个数 m,计算符合要求的幸
运数有多少个。
所谓幸运数字,是指一个数字,如果它的数位的平均数不超过 m,那么这个
数字称为幸运数。
例 如 当 m=5 时 , 1234567890 和 123456789 是 幸 运 数 , 因 为
(1+2+3+4+5+6+7+8+9+0)/10=4.5 < 5,(1+2+3+4+5+6+7+8+9)/9 = 5;
而 99 则不是幸运数,因为(9+9)/2=9 > 5。
给定一位同学的抽奖码 n 和他想的数 m,统计 1n 之间有多少个幸运数。n 之间幸运数的个数。
【输入格式】
第一行包含两个整数 n 和 m
【输出格式】
一个整数,1
【样例 1 输入】
19 3
【样例 1 输出】
9
【样例 2 输入】
2022 5
【样例 2 输出】
1516
【样例 3 输入】
123512353 8
【样例 3 输出】
123503565
【样例 1 说明】
第一个样例 1,2,3,10,11,12,13,14,15 是幸运数
【数据范围】
对于 30%数据:1<=n<=10^5, 1<=m<=9
对于 70%数据:1<=n<=10^9, 1<=m<=9
对于 100%数据:1<=n<=10^18, 1<=m<=9
用C++解决一些基本问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- _GX_ 2022-03-15 07:02关注
#include <iostream> using namespace std; bool is_lucky_number(long long x, int m) { int sum = 0; int count = 0; while (x) { sum += x % 10; x /= 10; count++; } return static_cast<float>(sum) / count <= m; } int main() { long long n, count = 0; int m; cin >> n >> m; for (long long i = 1; i <= n; i++) if (is_lucky_number(i, m)) count++; cout << count << endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 划分vlan后不通了
- ¥15 GDI处理通道视频时总是带有白色锯齿
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大