含k个3的数
含k个3的数
- C语言代码
- C++ 语言代码
- Java语言代码
- Python语言代码
💐The Begin💐点点关注,收藏不迷路💐
|
输入两个正整数 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
C语言代码
#include <stdio.h>
int main() {
int m, k;
scanf("%d %d", &m, &k); // 读取输入的两个整数m和k
int count = 0; // 用于记录数字m中3的个数
int temp = m; // 用临时变量temp来操作,避免改变原m的值
while (temp > 0) { // 循环判断每一位数字
if (temp % 10 == 3) { // 如果当前位是3
count++; // 3的个数加1
}
temp /= 10; // 去掉已经判断过的最低位
}
if (m % 19 == 0 && count == k) { // 判断能否被19整除且3的个数是否符合要求
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
C++ 语言代码
#include <iostream>
using namespace std;
int main() {
int m, k;
cin >> m >> k; // 输入两个整数m和k
int count = 0; // 统计数字m中3的个数
int temp = m; // 临时变量,用于操作而不改变原m
while (temp > 0) { // 遍历每一位数字
if (temp % 10 == 3) { // 若当前位是3
count++; // 3的个数计数加1
}
temp /= 10; // 去除已判断的最低位
}
if (m % 19 == 0 && count == k) { // 检查能否被19整除以及3的个数条件
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
Java语言代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt(); // 获取输入的整数m
int k = scanner.nextInt(); // 获取输入的整数k
int count = 0; // 用于记录数字m中3的个数
int temp = m; // 临时变量,用来操作避免改变原m
while (temp > 0) { // 循环查看每一位数字
if (temp % 10 == 3) { // 若当前位是3
count++; // 给3的个数计数加1
}
temp /= 10; // 去掉已查看的最低位
}
if (m % 19 == 0 && count == k) { // 判断能否被19整除以及3个数是否符合
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
Python语言代码
m, k = map(int, input().split()) # 获取输入的两个整数m和k
count = str(m).count('3') # 统计数字m中3的个数,通过字符串的count方法
if m % 19 == 0 and count == k: // 判断能否被19整除以及3的个数条件
print("YES")
else:
print("NO")
💐The End💐点点关注,收藏不迷路💐
|