输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出yes,否则,输出no。 例如,输入:43833 3,满足条件,输出yes。
时间: 2023-06-05 07:47:40 浏览: 317
题目描述:输入两个正整数m和k,其中1<m<100000,1<k<5,判断m能否被19整除,且好含有k个3。如果满足条件,则输出yes,否则,输出no。
例如,输入:43833 3,满足条件,输出yes。
解题思路:先判断m是否能被19整除,如果不能,则输出no;如果能,再将m转换成字符串,统计其中3的个数,如果3的个数等于k,输出yes,否则输出no。
Python代码如下:
m, k = input().split()
m = int(m)
k = int(k)
if m % 19 != 0:
print('no')
else:
count = 0
for i in str(m):
if i == '3':
count += 1
if count == k:
print('yes')
else:
print('no')
相关问题
输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出yes,否则,输出no。
可以使用字符串的方法来判断一个数是否含有k个3,具体步骤如下:
1. 将m转换成字符串类型,方便进行字符操作。
2. 统计字符串中字符3的个数,如果等于k,则继续判断是否能被19整除。
3. 如果能被19整除,则输出yes,否则输出no。
代码如下:
m, k = map(int, input().split())
if m % 19 == :
count = str(m).count('3')
if count == k:
print('yes')
else:
print('no')
else:
print('no')
使用C语言编写程序输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。写出完整代码并给出解释
下面是使用C语言编写的程序:#include <stdio.h>
int main()
{
int m, k, count = 0;
scanf("%d %d", &m, &k);
if (m > 0 && m < 100000 && k > 0 && k < 5)
{
if (m % 19 == 0)
{
while (m > 0)
{
if (m % 10 == 3)
count++;
m /= 10;
}
if (count == k)
printf("YES");
else
printf("NO");
}
else
printf("NO");
}
return 0;
}解释:程序首先从输入中读入m和k两个正整数,并检查它们是否满足1<m<100000,1<k<5的条件。然后判断m是否能被19整除,如果可以,则用一个循环来检查m中有几个3,如果有k个3,则输出YES,否则输出NO。
阅读全文