【C++ 真题】B2078 含 k 个 3 的数

含 k 个 3 的数

题目描述

输入两个正整数 m m m 和 k k k,其中 1 < m ≤ 1 0 15 1 \lt m \leq 10^{15} 1<m≤1015, 1 < k ≤ 15 1 \lt k \leq 15 1<k≤15 ,判断 m m m 是否恰好含有 k k k 个 3 3 3,如果满足条件,则输出 YES,否则,输出 NO

输入格式

输入一行,为两个整数 m , k m,k m,k,中间用单个空格间隔。

输出格式

满足条件,则输出 YES,否则,输出 NO

样例 #1

样例输入 #1

复制代码
43833 3

样例输出 #1

复制代码
YES

题解

cpp 复制代码
#include<iostream>
using namespace std;

int main(){
	int m, k, i=0;
	cin>>m>>k;
	
	if(m%19==0){
		while(m!=0){
			//每一位数
			int a = m%10;
			if(a==3){
				i+=1;
			}else{
				i=i;
			}
			m/=10;
		}
		
		if(i==k){
			cout<<"YES";
					
		}else{
			cout<<"NO";
		}
	}else{
		cout<<"NO";
	}
}
相关推荐
ALex_zry44 分钟前
C++高性能日志与监控系统设计
c++·unity·wpf
杰克尼1 小时前
知识点总结--02(java基础部分)
java·开发语言·jvm
We་ct1 小时前
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置:二分查找实战
前端·算法·leetcode·typescript·二分
Sunshine for you1 小时前
C++中的对象池模式
开发语言·c++·算法
炽烈小老头1 小时前
【 每天学习一点算法 2026/03/25】在排序数组中查找元素的第一个和最后一个位置
学习·算法
刀法如飞1 小时前
AI时代,重温10大经典排序算法的思维
算法·排序算法·ai编程
啊我不会诶1 小时前
求LCA 倍增法
c++·算法·深度优先
CoderIsArt1 小时前
编译器构建中涉及的算法
数据库·算法
暮冬-  Gentle°1 小时前
编译器优化屏障使用
开发语言·c++·算法
云淡风轻~窗明几净1 小时前
关于TSP的海岸线猜想:SeaLine算法的逐层法(不同于逐点法)
数据结构·算法·动态规划·模拟退火算法