老规矩,先看题目:
1090:含k个3的数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 69238 通过数: 36459
【题目描述】
输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。
【输入】
m 和 k 的值,中间用单个空格间隔。
【输出】
满足条件时输出 YES,不满足时输出 NO。
【输入样例】
43833 3
【输出样例】
YES
参考答案:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,k;
cin>>m>>k;
int n=0;
while(m!=0)
{
if(m%10==3)
n++;
m=m/10;
}
if(m%19==0&&n==k)
cout<<"YES";
else
cout<<"NO";
return 0;
}
这篇博客介绍了如何判断一个正整数m是否能被19整除,并且恰好含有k个3。它提供了一个C++代码示例,并给出了输入输出样例。核心在于实现对m值的分解和计数3的个数的算法。
2万+

被折叠的 条评论
为什么被折叠?



