【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";
	}
}
相关推荐
程序员无隅7 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+997 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子7 小时前
浅记java线程池
java·开发语言
一路向北North7 小时前
Spring Security OAuth2.0(23):分布式系统授权-转发明文给微服务
java·spring·微服务
zmzb01037 小时前
C++课后习题训练记录Day157
开发语言·c++
zephyr059 小时前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米9 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
爱吃牛肉的大老虎9 小时前
rust基础之环境搭建
java·开发语言·rust
tellmewhoisi10 小时前
多版本共用redis的token有效期校验(过期重新登录)
java·redis·缓存
疯狂打码的少年10 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程