NOI-0105/30/:含k个3的数

NOI-含k个3的数

解题思路

创建变量n,i,k,m 将i初始化为0
向 n、k输入
数位分离 当n是0时停止循环
定义num存 这个数的个位
如果这个数是3,执行计数器+1
缩小10倍n 准备下一次数位分离
最后按照要求判断并输出


完成代码

/*
描述
输入两个正整数 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。
*/
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,i=0,k,m;
	cin>>n>>k;//创建变量n 并输入
	m = n; //m=n
	while(n!=0) //数位分离 n==0停止循环
	{
		int num=n%10; //num存 n%10
		if(num==3) //分离的数值 == 3
		{
			i++; //计数器 +1
		}
		n = n/10; //缩小10倍n
	}
	if(m%19==0 && i==k)
	{
		cout<<"YES";
	}
	else
	{
		cout<<"NO";
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值