含k个3的数(信息学奥赛一本通-1090)
【题目描述】
输入两个正整数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 cnt = 0;
if (m % 19 != 0)
{
cout << "NO";
return 0;
}
while (m != 0)
{
if (m % 10 == 3)cnt++;
m /= 10;
}
if (cnt == k)cout << "YES";
else cout << "NO";
return 0;
}