描述
输入二个正整数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 }
浙公网安备 33010602011771号