POJ C程序设计进阶 编程题#1:含k个3的数

编程题#1:含k个3的数

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

输入二个正整数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

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() {
 5     int m, k, count=0;
 6         cin >> m >> k;
 7         bool right1 = false, right2 = false;
 8         if (m % 19 == 0) {
 9             right1 = true;
10         }
11         while (m > 0) {
12             if (m % 10 == 3) {
13                 count++;
14             }
15             m /= 10;
16         }
17         if (count == k) {
18             right2 = true;
19         }
20         if (right1 && right2) {
21             cout << "YES";
22         } else {
23             cout << "NO";
24         }
25         return 0;
26 }

 

posted @ 2015-08-14 23:18  dagon  阅读(3115)  评论(0编辑  收藏  举报