好数(蓝桥杯)
文章目录
- 好数
- 题目描述
- 暴力方法一
- 暴力方法二(超时)
好数
题目描述
【问题描述】
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数,我们就称之为“好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
【输入格式】
一个整数 N。
【输出格式】
一个整数代表答案。
【样例输入 1】
24
【样例输出 1】
7
【样例输入 2】
2024
【样例输出 2】
150
【样例说明】
对于第一个样例,24 以内的好数有 1、3、5、7、9、21、23,一共 7 个。
【评测用例规模与约定】
对于 10% 的评测用例,1 ≤ N ≤ 100。
对于 100% 的评测用例,1 ≤ N ≤ 107。
暴力方法一
从题目中可以得出结论:奇数位(个位、百位、万位 · · · )上的数字是奇数,偶数位(十位、千位、十万位 · · · )上的数字是偶数
那么就可以定义一个k代表数字n的当前位数,从1开始计数,即个位是1,十位是2,百位是3……
然后就可以从个位开始取数,判断该数是否为好数,每取走一位,k加上1,进入下一位
// 包含C++程序中常用的库,是C++标准库的一个集合,包括了I/O、字符串和容器等
#include<bits/stdc++.h>
// 使用std命名空间中的名字,避免每次调用标准库中的东西都要加上std::前缀
using namespace std;// 定义一个函数check,用于检查某个整数n是否是“好数”
bool check(int n)
{int k=1; // 代表数字n的当前位数,从1开始计数,即个位是1,十位是2,百位是3,以此类推// 循环检查整数n的每一位while(n){int t=n%10; // t为n的当前最低位的数字,%运算符取余数// 检查当前位数k是否与对应的数字t符合好数的定义if(k%2==1 && t%2==0) // 如果位数k是奇数但数字t是偶数,则不满足好数的定义return false; // 返回false,表示n不是好数if(k%2==0 && t%2==1) // 如果位数k是偶数但数字t是奇数,则不满足好数的定义return false; // 返回false,表示n不是好数n /= 10; // n去掉最低位的数字,/=运算符用来对n除以10并将结果赋值给nk++; // 增加位数计数器,因为已经检查了一位}// 如果所有位的检查都通过,则n是好数return true; // 返回true,表示n是好数
}// 程序的主函数
int main()
{int n; // 定义一个整型变量n用来存放输入的数字cin >> n; // 从标准输入流中读取一个整数到变量nint ans = 0; // 初始化答案变量ans,用于计数有多少个好数// 循环,从1开始到n结束for(int i=1; i<=n; i++){// 调用check函数检查i是否是好数if(check(i))ans++; // 如果i是好数,就将答案变量加1}// 输出答案cout << ans;// 返回0,标识程序正常结束return 0;
}
暴力方法二(超时)
分情况讨论:
- 当该数位数为奇数时,可以得到结论:偶数位上是奇数,奇数位上是偶数
- 当该数位数为偶数时,可以得到结论:偶数位上是偶数,奇数位上是奇数
代码如下:
// 包含C++标准库的头文件,用于I/O操作和字符串处理
#include<bits/stdc++.h>
using namespace std;int main() {int n; // 定义一个整数变量n用来存储输入的整数Ncin >> n; // 从标准输入流中读取一个整数到n中int ans = 0; // 定义并初始化计数器ans,用来记录总的好数的数量// 用一个for循环遍历从1到n的所有整数,检查每个数是否为好数for(int i = 1; i <= n; i++) {string s; // 定义一个字符串s,用来存储当前数字的字符串表示s = to_string(i); // 把当前的整数i转化为字符串格式存储在s中int flag = 0; // 定义一个标识变量flag,用来表示当前数是否为好数// 当数字的位数为奇数时,进行检查if(s.size() % 2 == 1) {// 遍历数字的每一位for(int j = 0; j < s.size(); j++) {// 如果位数是奇数位(从0开始计数),但数字是偶数,设置标志并跳出循环if(j % 2 == 0 && (s[j] - '0') % 2 == 0) {flag = 1;break;}// 如果位数是偶数位,但数字是奇数,设置标志并跳出循环if(j % 2 == 1 && (s[j] - '0') % 2 == 1) {flag = 1;break;}}}// 如果数字的位数为偶数,进行检查if(s.size() % 2 == 0) {// 同样地,遍历数字的每一位for(int j = 0; j < s.size(); j++) {// 如果位数是奇数位,但数字是偶数,设置标志并跳出循环if(j % 2 == 0 && (s[j] - '0') % 2 == 1) {flag = 1;break;}// 如果位数是偶数位,但数字是奇数,设置标志并跳出循环if(j % 2 == 1 && (s[j] - '0') % 2 == 0) {flag = 1;break;}}}// 如果flag没有被设置,说明当前的数是一个“好数”if(flag == 0)ans++; // 好数的数量加1}cout << ans; // 输出总的好数的数量return 0; // 程序结束
}
这段代码通过将数字转换成字符串的形式,然后检查字符串的每个字符来判断一个数是否符合“好数”的定义。代码中的flag
变量用来表示当前检查的数是否已经确定不是“好数”。如果在检查过程中发现某位数字不符合好数的要求,flag
将被设置为1,并终止进一步检查。最终,没有被标记为非好数的数将会被计入最终的答案ans
中。
相关文章:
好数(蓝桥杯)
文章目录 好数题目描述暴力方法一暴力方法二(超时) 好数 题目描述 【问题描述】 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上的数字是奇数,偶数位(十位、千位、十万位 …...
自动化收集Unity版本更新日志
自动化收集Unity版本更新日志 🍥功能介绍🥪食用手册填写配置开始搜集 🍨数据展示 🍥功能介绍 💡获取指定年份中所有的Unity版本更新日志。 💡根据指定字符串过滤。 💡.收集后自动保存成markdow…...
【CSS】CSS水平居中方案
CSS水平居中方案 1. 行内元素水平居中 设置父元素的text-align:center .box {width: 300px;height: 300px;margin: 100px auto;text-align: center;background-color: pink; }2. 块级元素水平居中 当块级元素设置了明确的宽度数值时,可以使用margin: 0 auto 3.…...
SQL注入sqli_labs靶场第二题
解题思路与第一题相同 ?id1 and 11 和?id1 and 12进行测试如果11页面显示正常和原页面一样,并且12页面报错或者页面部分数据显示不正常,那么可以确定此处为数字型注入。 联合查询: 猜解列名数量:3 ?id1 order by 4 判断回显…...
基于机器学习的人脸发型推荐算法研究与应用实现
1.摘要 本文主要研究内容是开发一种发型推荐系统,旨在识别用户的面部形状,并根据此形状推荐最适合的发型。首先,收集具有各种面部形状的用户照片,并标记它们的脸型,如长形、圆形、椭圆形、心形或方形。接着构建一个面部…...
【服务器部署篇】Linux下Nginx的安装和配置
作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…...
React搭建一个文章后台管理系统
1、项目准备 本篇文章讲解的是一个简单的文章后台管理系统,系统的功能很简单,如下:登录、退出;首页;内容(文章)管理:文章列表、发布文章、修改文章。 1)React官方脚手架:create-rea…...
Elasticsearch 支持的插件 —— 筑梦之路
Analysis 插件: 1、IK Analyzer:适用于中文分词的插件,提供了针对中文文本的分析器。 2、Smart Chinese Analysis:另一个中文分词插件,支持中文智能分词。 集群管理插件: 1、Kibana:Elasticsear…...
HTML:链接
目录 一、超链接 二、 外联元素 一、<a>超链接 <a> 标签用于定义超链接,超链接可以让用户从一个网页跳转到另一个网页。 常用属性: href指定链接的目标地址。download表示链接是一个下载链接,指定下载的文件名。target 指定在…...
vscode远程连接centos
文章目录 vacode连接linux1. 安装插件2. 查看配置3. 打开ssh4. 远程连接 vacode连接linux 1. 安装插件 在扩展栏搜索remote ,找到Remote Development插件,进行安装: 2. 查看配置 打开自己的linux终端,输入ifconfig,…...
scala---面向对象(类,对象,继承,抽象类,特质)
一、类(class)和 对象(object) 1、类 类就是对客观的一类事物的抽象。用一个class关键字来描述和Java一样,在这个类中可以拥有这一类事物的属性,行为等等。 2、为什么要有对象 在java中的一个class既可…...
【机器学习300问】68、随机初始化神经网络权重的好处?
一、固定的初始化神经网络权重可能带来的问题 在训练神经网络的时候,初始化权重如果全部设置为0或某个过大值/过小值。会导致一些问题: 对称权重问题:全为0的初始化权重会导致神经网络在前向传播时接收到的信号输入相同。每个神经网络节点中…...
数据结构与算法——20.B-树
这篇文章我们来讲解一下数据结构中非常重要的B-树。 目录 1.B树的相关介绍 1.1、B树的介绍 1.2、B树的特点 2.B树的节点类 3.小结 1.B树的相关介绍 1.1、B树的介绍 在介绍B树之前,我们回顾一下我们学的树。 首先是二叉树,这个不用多说ÿ…...
Tomcat源码解析——Tomcat的启动流程
一、启动脚本 当我们在服务启动Tomcat时,都是通过执行startup.sh脚本启动。 在Tomcat的启动脚本startup.sh中,最终会去执行catalina.sh脚本,传递的参数是start。 在catalina.sh脚本中,前面是环境判断和初始化参数,最终…...
蓝桥杯真题演练:2023B组c/c++
日期统计 小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 …...
微信小程序实现预约生成二维码
业务需求:点击预约按钮即可生成二维码凭码入校参观~ 一.创建页面 如下是博主自己写的wxml: <swiper indicator-dots indicator-color"white" indicator-active-color"blue" autoplay interval"2000" circular > &…...
专业140+总分410+北京理工大学826信号处理导论考研经验北理工电子信息通信工程,真题,参考书,大纲。
今年考研专业课826信号处理导论(信号系统和数字信号处理)140,总分410,顺利上岸!回看去年将近一年的复习,还是记忆犹新,有不少经历想和大家分享,有得有失,希望可以对大家复…...
做一个后台项目的架构
后台架构的11个维度 架构1:团队协助基础工具链的选型和培训架构2:搭建微服务开发基础设施架构3:选择合适的RPC框架架构4:选择和搭建高可用的注册中心架构5:选择和搭建高可用的配置中心架构6:选择和搭建高性…...
嵌入式单片机 TTL电平、232电平、485电平的区别和联系
一、简介 TTL、232和485是常见的串口通信标准,它们在电平和通信方式上有所不同, ①一般情况下TTL电平应用于单片机外设,属于MCU/CPU等片外外设; ②232/485电平应用于产品整体对外的接口,一般是片外TTL串口转232/485…...
2024年大唐杯备考
努力更新中…… 第一章 网络架构和组网部署 1.1 5G的网络整体架构 5G网络中的中传、回传、前传(这里属于承载网的概念) CU和DU之间是中传 BBU和5GC之间是回传 BBU和AAU之间是前传(这个好记) 这里竟然还藏了MEC(…...
Spring Boot(06):Spring Boot与MySQL搭配,打造极简高效的数据管理系统
1. 前言 Spring Boot 是一个基于Spring框架的快速开发框架,可以使开发者快速搭建一个可靠的Java Web应用程序。而MySQL是最广泛使用的关系型数据库系统之一,也是Spring Boot整合数据库的首选。本文将介绍Spring Boot如何整合MySQL数据库。 2. 摘要 本文…...
Vue3 + Vite 构建组件库发布到 npm
你有构建完组件库后,因为不知道如何发布到 npm 的烦恼吗?本教程手把手教你用 Vite 构建组件库发布到 npm 搭建项目 这里我们使用 Vite 初始化项目,执行命令: pnpm create vite my-vue-app --template vue这里以我的项目 vue3-xm…...
Vite多环境配置与打包:灵活高效的Vue开发工作流
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
从零实现诗词GPT大模型:数据集介绍和预处理
专栏规划: https://qibin.blog.csdn.net/article/details/137728228 本章将介绍该系列文章中使用的数据集,并且编写预处理代码,处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry,是一个在github上开源的中文诗…...
45.HarmonyOS鸿蒙系统 App(ArkUI)创建列表(List)
列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列…...
推荐算法之协同过滤
算法原理 透过百科,我们了解到协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤算法结合用户行为分析用户…...
Kotlin 面试题
lifecycleScope.launchWhenResumed launchWhenResumed是一个扩展函数,它是LifecycleCoroutineScope的一部分,并且它是在Android的Lifecycle库中引入的。 这个函数的主要目的是在Lifecycle的对应组件(通常是Activity或Fragment)处于“resumed”状态时启动协程。 public fun …...
TCM(Tightly Coupled Memory)紧密耦合存储器简介
在ARM Cortex处理器中,TCM通常指的是紧密耦合存储器(Tightly Coupled Memory)。TCM是一种位于处理器核心旁边的高速存储器,它的设计目的是为了提供低延迟和高带宽的内存访问性能。 TCM的特点是它与处理器内核紧密耦合,…...
《自动机理论、语言和计算导论》阅读笔记:p172-p224
《自动机理论、语言和计算导论》学习第 8 天,p172-p224总结,总计 53 页。 一、技术总结 1.Context-Free Grammar(CFG) 2.parse tree (1)定义 p183,But perhaps more importantly, the tree, known as a “parse tree”, when used in a …...
typescript playwright 笔记
录制调式 命令 npx playwright codegen url npx playwright codegen https://www.baidu.com/typescript 中 format 和 split 的使用 import * as util from util;const str1 hellow %s; const format util.format; const str2 format(str1, word);// 提取taskId const str3…...
浪子做的阿哲喊麦网站多少/北京网站优化页面
在职场中,写日报、周报是工作标配。但是,这也是让很多人感到头疼且抗拒的事情。尤其是项目经理们,明明每天都已经忙得脚不沾地了,哪有时间去写那个啥报?环环总结了几条大家讨厌写周报的原因,看看有没有你&a…...
大型门户网站建设哪便宜/如何推广公众号
本实用新型涉及包装技术领域,更具体地说,涉及一种可调节大小的包装纸箱。背景技术:包装纸箱是用纸制品制造的,用于包装各类物品的用具,分单坑(3层)/双坑(5层)/三坑(7层)/四坑(9层)纸箱,纸箱细分纸盒、彩箱、…...
wordpress 链接跳转/网站seo分析案例
目录 (?)[] 本文地址:http://blog.csdn.net/spch2008/article/details/9005885 Paste环境准备 1. 下载paste,放于eclipse目录中 paste库:http://download.csdn.net/detail/spch2008/5500979 2.目录结构 现在将之前的程序改写,改…...
网站建设响应/关键词批量调词软件
在MySQL中,当我们所要查询的结果集没有ID字段时,为方便前台展示等业务需求,需要添加一个自增的序号字段(ID)。语法如下: SELECT (i:i1) 别名1,表字段信息 FROM 表名, (SELECT i:0) AS 别名2代码示例,同时结合分页使用…...
贵州省住房和城乡建设局网站首页/今日最新国际新闻
个人站长的win2003服务器配置与安全- Discuz实例,适合菜鸟教程!现在用vps的站长越来越多了,用vps就需要装系统,一般vps系统用的比较多的有linux与windouws。目前使用win系统做服务器的大型网站还是有蛮多的。例如易名中国,西部数码…...
福州公司注册代办营业执照/旺道seo网站优化大师
江西省教育考试院高考成绩查询系统入口2021http://www.jxeea.cn 江西省教育考试院网站是2021江西高考官方网站,http//wwwjxeeacn江西教育考试院提供2021江西高考报名、江西高考志愿填报、2021江西高考成绩查询查分系统、2021江西高考录取分数线结果查询系统等17.考试…...