描述
输入二个正整数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 int f(int x)
4 {
5 static int m = 0;//注意,这里使用了静态局部变量,否则每次载入递归函数,m会被重置
6 if (x % 10 == 3) //对正整数求模,相当于从最后一位开始判断是否为3
7 {
8 m++;
9 }
10 if ((x / 10) != 0)
11 {
12 f(x / 10);
13 }
14 else
15 return m;
16 }
17 int main()
18 {
19 int a , b = 0;
20 cin >> a >> b;
21 if (a % 19 == 0)
22 {
23 if (f(a) == 3)
24 {
25 cout << "yes";
26 }
27 else (cout << "no");
28 }
29 else (cout << "no");
30 }