C++程序基础(15):C++while循环例题

2023-11-17

前言

通过上节的介绍,大家对while循环语句想必也有了一定的了解

那么在本篇中我们将来看一道较为复杂的例题,帮助大家巩固和进一步理解while循环语句。


例题(1/1)含k个3的数


题目描述

输入两个正整数m、k,其中1<m<100000,1<k<5,判断m能否被19整除且恰好含有k个3,若满足条件,则输出“YES”;若不满足条件,则输出“NO”。

输入格式

两行,m和k的值;第一行为m,第二行为k。

输出格式

满足条件时输出“YES”,不满足条件时输出“NO”

输入样例1

43833
3

输出样例1

YES

输入样例2

39331
3

输出样例2

NO

做法分析


根据题目,首先我们需要判断 m m m 能否整除 19 19 19,如果不可以就直接输出NO

如果可以则进行下一步判断。此处使用if语句进行判断即可。

如果 m m m 能够整除 19 19 19,就进行第二步判断:

m m m 是否恰好含有 k k k 3 3 3

这是整个程序的难点,我们可以通过while循环拆数解决,并定义计数变量进行计数

如果最终发现 m m m 3 3 3 的个数恰好等于 k k k 的值,就可以输出YES

如果不相等,则输出NO

或许很多同学会在这里有所疑问,while循环怎么拆数?

实际上很简单:我们先定义一个变量

在循环中用这个变量记录在 m m m 不等于 0 0 0 m m m % 10 10 10 的值(即得到 m m m 的每一位数),并在每次记录后判断该变量是否为 3 3 3

如果是,则将计数变量的值加 1 1 1(计数变量初始值为 0 0 0 );并在每一次循环完成后将 m / 10 m/10 m/10(去掉最后一位)。

m = = 0 m==0 m==0 时循环结束,将累加后的计数变量与 k k k 进行大小比较后输出结果。

完整代码演示

#include < iostream >
using namespace std;
int main(){
	int m,k;
	cin>>m>>k;
	int e=0;
	if(m%19==0){
		while (m!=0){
		int a=m%10;
		m=m/10;
		if (a==3){
 		e++;
		}
	}
	if(e==k){
		cout<<"YES";
		}else {
			cout<<"NO";
		}
	} 
	else {
	cout<<"NO";
	}
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++程序基础(15):C++while循环例题 的相关文章

随机推荐

  • 学习总结HTML CSS JAVASCRIPT,对三剑客的一些理解

    网页设计一般用到三大技术 html css javascript HTML 相当于一个文档 里面是要给用户的信息 使用他提供的一些标签 来把你想传递给用户的信息进行合理编排 使信息更好的传递给用户 CSS 相当于把这个文档进行修饰 美化实现
  • 8.16 IO作业

    拷贝 int main int argc const char argv if argc 3 printf input file error n printf wsage a out srcfile dstfile n FILE fp if
  • Windows 64编程中寄存器的使用

    下面是摘自 MSDN 的文章 在 Win64 下的 registers 用途 Register Status Use RAX Volatile Return value register RCX Volatile First integer
  • tf.app.run出现错误AttributeError: module '__main__' has no attribute 'main'

    我在运行tf app run的时候出现AttributeError module main has no attribute main 的错误 网上没有查到有用的资料 但是看到默认传递的是main 函数 可能是这个出现了错误 因此我把mai
  • vba帮助手册chm_Excel 2010 VBA 离线帮助 简体中文版 本地帮助分享

    众所周知 Excel VBA帮助是我们写代码的好帮手 无论是初学者 还是VBA老鸟 很多问题都可以直接在VBA帮助里找到答案 但是坑爹的微软 在office2013以后 不再提供本地帮助 更重要的是 离线帮助非常不好用啊 但是高版本又有很多
  • 关于GTC

    目录 一 会议内容 二 AI技术 三 AI应用 四 AI前景 GTC GPU Technology Conference 是由英伟达 NVIDIA 主办的一场全球性的技术大会 旨在探讨人工智能 深度学习 自动驾驶等领域的最新技术 为参会者提
  • Shell自动补全传参简单demo

    准备两个文件 File1 env bash buildsh prompt COMPREPLY local cur COMP WORDS COMP CWORD local cmd COMP WORDS COMP CWORD 1 local o
  • 机器学习模型评价指标(准确率、精度、召回率)

    模型评价指标 准确率 精度 召回率 机器学习中我们常常使用准确率 精度 召回率三大指标评价一个模型训练的好坏 那么这三大参数分别代表什么意义 在介绍评价指标前 需要先明确几个计算指标 真正例 True Positive TP 模型将测试样本
  • Python报错:ImportError: cannot import name XXX

    Python报错 ImportError cannot import name XXX 起因 在使用sklearn部分包库时出现该问题 尝试多种方法无果 解释及解决方法 语句中涉及的包库和已安装的包库出现了版本不一致的问题 比如你导入的包库
  • python利用百度/高德地图获取地理位置并转换

    提示 作者原创 转载请注明 文章目录 一 地理编码与逆编码 二 高德地图地理编码 三 百度地图地理编码 四 坐标转换和空间化 一 地理编码与逆编码 地理编码与逆编码表示的是地名地址与地理坐标 经纬度 互相转换的过程 其中 将地址信息映射为地
  • tensorflow遇到的坑

    tensorflow遇到的坑 tf norm norm pow 2 tf pow tf norm from centralized axis 1 2 2 norm sqrt sum square tensor norm pow 2 tf r
  • 龙湖股价快速收复失地,近4日累计上涨27.8%

    11月7日早盘 龙湖集团股价快速冲高 截至10点 报13 1港元 对应涨幅为2 5 全面收付上周一深调失地 从近期表现来看 龙湖集团股价已连续反弹多日 截至上周五收盘 4个交易日内累计上涨27 8 在过去一周内 多家地产公司的波动令市场情绪
  • 手写数字的识别分类+技术总结

    1 学习转载一篇关于机器学习手写数字的识别 Python 3 利用机器学习模型 进行手写体数字检测 Python 3 生成手写体数字数据集 2 技术总结 机器学习代码实现的初级阶段 既要自己上手项目 也要多看其他前辈的博文 特别是一些附加有
  • 测试工程师要进阶,就得明白这3点...

    在大型互联网公司带测试团队多年 也做过多年的测试工程师招聘工作 对测试工程师的能力也见过高高低低各种 今天 分享下这些年带领测试团队提高的一点思路和方法 还在成长期的测试工程师可以用来指导自己的学习 用这套框架给自己制定一套目标和学习框架
  • Word、WPS中表格的第一行和第二行中间间距,如何去掉,使得跟其他行间距相同

    Word WPS中表格的第一行和第二行中间间距 如何去掉 使得跟其他行间距相同 Word或wps表格已经设计好了很多表格样式供大家使用 如图1 图1 当不想第一行和第二行的间距相同时 取消首行填充即可 如果不间距未变 再将首行删除必行
  • 嵌入式Linux开发笔记之手动设置交叉编译工具链

    快速索引 开发平台 拷贝交叉编译工具链到Linux主机 1 通过 MobaXterm 远程登录 Linux主机 安装交叉编译工具链 1 创建 imx6ull toolchain目录存放交叉编译工具链 2 解压交叉编译工具 3 设置工具链永久
  • 博弈论

    文章目录 博弈论 什么是博弈论 博弈的前提 博弈的要素 博弈的分类 非合作博弈 有限两人博弈囚徒困境 合作博弈 无限多人博弈囚徒困境 常见的博弈定律 零和博弈 重复博弈 智猪博弈 斗鸡博弈 猎鹿博弈 蜈蚣博弈 酒吧博弈 枪手博弈 警匪博弈
  • react使用阿里云对象存储,ali-oss, antd upload to ali-oss

    最近写阿里云图片上传 碰到一些小问题 在此总结一下 项目环境 create react app antd node6 1 0 看了阿里云oss对象存储sdk 直接采用node 的安装方式 在使用的时候碰到了问题 yield client p
  • Partial Evaluation

    Scrapping your Inefficient Engine Using Partial Evaluation to Improve Domain Specific Language Implementation AnyDSL A P
  • C++程序基础(15):C++while循环例题

    C while循环例题 前言 例题 1 1 含k个3的数 做法分析 完整代码演示 前言 通过上节的介绍 大家对while循环语句想必也有了一定的了解 那么在本篇中我们将来看一道较为复杂的例题 帮助大家巩固和进一步理解while循环语句 例题