[蓝桥 2023] 位乘积计数
2024-01-01 16:28:13
问题描述
给定两个正整数?n?和?m,请你计算出,从?1到?n?的所有整数中,满足每一位上的数字乘积小于等于?m?的数字的个数。
例如,当?n=12,m=3?时,满足条件的数字有?1,2,3,10,11,12?共?6?个。
输入格式
输出格式
输出一个整数,表示从?1?到?n?的数中,满足每一位上的数字乘积小于等于?m?的数字个数。
样例输入 1
6 3
样例输出 1
3
样例输入 2
15 2
样例输出 2
5
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 36??|??总提交次数: 39??|??通过率: 92.3%
难度: 中等???标签: 思维,
代码分享:
#include <iostream>
using namespace std;
int main()
{
long long int n,j,m,sum=0;
long long int b;
cin>>n>>m;//范围和判断条件的输入
for(int i=1;i<=n;i++){
long long int w=1,a=i;
for( j=i;j!=0;){
b=j%10;
j/=10;
w=b*w;
} //w用来记录每个位数相乘得到的结果
if(w<=m) //和m比较判断是否满足条件
sum++;
}
cout<<sum;
return 0;
}
文章来源:https://blog.csdn.net/qq_73062949/article/details/135325742
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!