当前位置: 首页 > news >正文

蓝桥杯回文日期判断

思想:对于回文数的判断方法,最快的就是取其中一半的字符串长度,为s,然后将其进行翻转为s’ ,再把两者进行拼接即可保证是回文数,这样子就解决了枚举所有回文数的问题。
注意点:

  • 要求必须是有效日期
  • 注意闰年的2月份问题
    代码:
    (1)判断所给字符串是不是回文数
    (a) 取得前一半的数据,将原来一半和翻转后的一半进行拼接即可确保是回文数
    //transformer to stringstring s= to_string(num),t= to_string(num);//翻转其中一个reverse(t.begin() ,t.end());s+=t;//S一定为回文数

(b)判断日期是不是有效的

    int y= stoi(s.substr(0,4)),m=stoi(s.substr(4,2)),d= stoi(s.substr(6,2));//取出年月日if(y%400==0||(y%4==0&&y%100!=0))//如果是闰年month[1]=29;elsemonth[1]=28;//接着判断月份是否超过12if(m<1||m>12)return "-1";elsereturn s;

全部代码:

string check1(int num)
{//transformer to stringstring s= to_string(num),t= to_string(num);//翻转其中一个reverse(t.begin() ,t.end());s+=t;int y= stoi(s.substr(0,4)),m=stoi(s.substr(4,2)),d= stoi(s.substr(6,2));//取出年月日if(y%400==0||(y%4==0&&y%100!=0))//如果是闰年month[1]=29;elsemonth[1]=28;//接着判断月份是否超过12if(m<1||m>12)return "-1";elsereturn s;
}

常见函数:

to_string()//int转为字符串
reverse()//字符翻转
substr(0,4)//0是指起点位置,4是指复制4个,即从0号字符开始,复制四个作为返回值

(2)判断是不是ABABBABA类型的回文数

//判断是否是ABABBABA类型的回文数
string  check2(int num)
{//transformer to stringstring s= to_string(num),t= to_string(num);//翻转其中一个reverse(t.begin() ,t.end());s+=t;if(s[0]==s[2]&&s[1]==s[3])return s;elsereturn "-1";}

整个项目工程如下:
huiwen.cpp


// Created by HP on 2024/1/7.
//判断是否是回文数
#include "huiwen_number.h"int date;
int month[12]={31,28,31,30,31,30,31,30,31,30,31,30};//初始化每月天数
/*------------------- 判断是否是一个回文数---------------------* 判断回文数,只需要判断前半部分是不是回文数,然后翻转拼接即可**
*///判断日期是否合法
string check1(int num)
{//transformer to stringstring s= to_string(num),t= to_string(num);//翻转其中一个reverse(t.begin() ,t.end());s+=t;int y= stoi(s.substr(0,4)),m=stoi(s.substr(4,2)),d= stoi(s.substr(6,2));//取出年月日if(y%400==0||(y%4==0&&y%100!=0))//如果是闰年month[1]=29;elsemonth[1]=28;//接着判断月份是否超过12if(m<1||m>12)return "-1";elsereturn s;
}
//判断是否是ABABBABA类型的回文数
string  check2(int num)
{//transformer to stringstring s= to_string(num),t= to_string(num);//翻转其中一个reverse(t.begin() ,t.end());s+=t;if(s[0]==s[2]&&s[1]==s[3])return s;elsereturn "-1";}

huiwen.h

//
// Created by HP on 2024/1/7.
//
#include <iostream>
#include "string"
using namespace std;
#include "algorithm"
#ifndef HUIWEN_NUMBER_H
#define HUIWEN_NUMBER_H
extern int date;
extern int month[12];//初始化每月天数
string check1(int num);
string  check2(int num);
#endif //CHAPTER1_HUIWEN_NUMBER_H

main.cpp

#include <iostream>
#include "huiwen_number.h"
using namespace std;int main()
{
string  ans1="";
/* -------------------判断是否是回文数的蓝桥杯题目---------------------*/
cout<<"请你输入一个日期"<<endl;
cin>> date;//date回文.h文件中有定义了
for(int i=date/10000;;i++)
{if(check1(i)=="-1"||check1(i)== to_string(date))continue;else{if(ans1=="")ans1= check1(i);if(check2(i)!="-1"){cout<<ans1<<"\n"<<check2(i)<<endl;break;}}}return 0;}

CMakelist.txt

cmake_minimum_required(VERSION 3.26)
project(chapter1)set(CMAKE_CXX_STANDARD 17)add_executable(chapter1 main.cpphuiwen_number.cpphuiwen_number.h)

在这里插入图片描述

相关文章:

蓝桥杯回文日期判断

思想&#xff1a;对于回文数的判断方法&#xff0c;最快的就是取其中一半的字符串长度&#xff0c;为s&#xff0c;然后将其进行翻转为s’ &#xff0c;再把两者进行拼接即可保证是回文数&#xff0c;这样子就解决了枚举所有回文数的问题。 注意点&#xff1a; 要求必须是有效…...

Qt文件和目录相关操作

1.相关说明 QCoreApplication类、QFile类、QDir、QTemporaryDir类、QTemporaryFile类、QFileSystemWatcher类的相关函数 2.相关界面 3.相关代码 #include "dialog.h" #include "ui_dialog.h" #include <QFileDialog> #include <QTemporaryDir>…...

递归、搜索与回溯算法(专题一:递归)

往期文章&#xff08;希望小伙伴们在看这篇文章之前&#xff0c;看一下往期文章&#xff09; &#xff08;1&#xff09;递归、搜索与回溯算法&#xff08;专题零&#xff1a;解释回溯算法中涉及到的名词&#xff09;【回溯算法入门必看】-CSDN博客 接下来我会用几道题&#…...

element-ui 打包流程源码解析(下)

目录 目录结构和使用1&#xff0c;npm 安装1.1&#xff0c;完整引入1.2&#xff0c;按需引入 2&#xff0c;CDN3&#xff0c;国际化 接上文&#xff1a;element-ui 打包流程源码解析&#xff08;上&#xff09; 文章中提到的【上文】都指它 ↑ 目录结构和使用 我们从使用方式来…...

ChatGPT给出的前端面试考点(Vue.js)

ChatGPT给出的前端面试考点&#xff08;Vue.js&#xff09; 答案 1. Vue.js是什么&#xff1f;它的主要特点是什么&#xff1f; Vue.js是一个渐进式JavaScript框架&#xff0c;用于构建用户界面。它的主要特点包括&#xff1a; 数据绑定&#xff1a;Vue.js使用双向数据绑定&…...

ChatGPT 商业提示词攻略书

原文&#xff1a;ChatGPT Business Prompt Playbook 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 一、书系介绍 人工智能发展迅速。非常迅速。 所以我希望你做两件事&#xff1a; (1) 在 Twitter 上关注我&#xff1a;iamkylebalmer (2) 订阅我的免费电子邮件通…...

Notepad++运行C语言输出乱码

方法一&#xff1a;编码-编码字符集-中文-GB2312 这时原程序中文会变成乱码&#xff0c;我是重新输入中文 重新编译执行即可 缺陷&#xff1a;重开一个程序有中文还是会显示乱码&#xff0c;需要重新设置编码&#xff0c;比较麻烦 方法二&#xff1a;设置-首选项-新建-右侧编…...

深入解析 Java 方法引用:Lambda 表达式的进化之路

前言 方法引用是 Java 8 提供的一种新特性&#xff0c;它允许我们更简洁地传递现有方法作为参数。这项特性实际上是对 Lambda 表达式的一种补充&#xff0c;通过方法引用&#xff0c;我们可以直接引用现有方法&#xff0c;而无需编写完整的Lambda表达式。最近在使用方法引用的…...

MySQL作业 (3)多表查询

多表查询 1.创建student和score表2.为student表和score表增加记录3.查询student表的所有记录4.查询student表的第2条到4条记录5.从student表查询所有学生的学号&#xff08;id&#xff09;、姓名&#xff08;name&#xff09;和院系&#xff08;department&#xff09;的信息6.…...

ConcurrentHashMap和HashMap的区别

什么是HashMap &#xff08;1&#xff09;HashMap 是基于 Map 接口的非同步实现&#xff0c;线程不安全&#xff0c;是为了快速存取而设计的&#xff1b;它采用 key-value 键值对的形式存放元素&#xff08;并封装成 Node 对象&#xff09;&#xff0c;允许使用 null 键和 nul…...

MCM备赛笔记——图论模型

Key Concept 图论是数学的一个分支&#xff0c;专注于研究图的性质和图之间的关系。在图论中&#xff0c;图是由顶点&#xff08;或节点&#xff09;以及连接这些顶点的边&#xff08;或弧&#xff09;组成的。图论的模型广泛应用于计算机科学、通信网络、社会网络、生物信息学…...

算法笔记(动态规划入门题)

1.找零钱 int coinChange(int* coins, int coinsSize, int amount) {int dp[amount 1];memset(dp,-1,sizeof(dp));dp[0] 0;for (int i 1; i < amount; i)for (int j 0; j < coinsSize; j)if (coins[j] < i && dp[i - coins[j]] ! -1)if (dp[i] -1 || dp[…...

开发实践_阶段三

编写一个告知APP。 需求&#xff1a; 1.登录、注册 2.发布定向讯息&#xff1a;检测是否登录&#xff0c;是则向用户或用户组发布 ”名称 时间“ &#xff1b;否则提示登录 3.讯息接收&#xff1a;检测是否登录&#xff0c;是则查看收到信息&#xff08;未读数&#xff09…...

codegeex和通义灵码辅助编程——以及通义灵码无法登陆的bug解决

通义的速度更快&#xff0c;延迟低&#xff0c;150ms。 codegeex速度慢些&#xff0c;延迟较高&#xff0c;500ms。 个人评价&#xff1a;延迟低的会很好地改善使用体验&#xff0c;所以通义加分。 但是整体功能上还是codegeex强一些&#xff0c;可以选中代码进行对话&#xf…...

Android14之DefaultKeyedVector实现(一百八十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

银河麒麟操作系统 v10 中离线安装 Docker

银河麒麟操作系统 v10 中离线安装 Docker 1. 查看系统版本2. 查看 Linux 内核版本&#xff08;3.10以上&#xff09;3. 查看 iptabls 版本&#xff08;1.4以上&#xff09;4. 判断处理器架构5. 离线下载 Docker 安装包6. 移动解压出来的二进制文件到 /usr/bin 目录中7. 配置 Do…...

如何系统的学习Python

学习 Python 的时候&#xff0c;可以按照以下步骤进行系统学习&#xff1a; 学习 Python 基础知识&#xff1a;首先了解 Python 的基础语法、数据类型、变量和运算符等基本概念。可以通过阅读《Python编程从入门到实践》等经典教材来建立基础。也可以通过翻阅Python官方文档来进…...

Java并发基础:一文讲清util.concurrent包的作用

java.util.concurrent包是 Java 中用于并发编程的重要工具集&#xff0c;提供了线程池、原子变量、并发集合、同步工具类、阻塞队列等一系列高级并发工具类&#xff0c;使用这些工具类可以极大地简化并发编程的难度&#xff0c;减少出错的可能性&#xff0c;提高程序的效率和可…...

C++PythonC# 三语言OpenCV从零开发(2):教程选择

文章目录 相关专栏前言视频教学和官方文档视频教程OpenCV 官方教程最终选择我的最终选择 相关专栏 C&Python&Csharp in OpenCV 前言 OpenCV 有官方的教程和简单的视频教程&#xff1a; OpenCV 官方教程 B站也有相关的视频教学 OpenCV4 C 快速入门视频30讲 - 系列合集 …...

【嘉立创EDA-PCB设计指南】3.网络表概念解读+板框绘制

前言&#xff1a;本文对网络表概念解读板框绘制&#xff08;确定PCB板子轮廓&#xff09; 网络表概念解读 在本专栏的上一篇文章【嘉立创EDA-PCB设计指南】2&#xff0c;将设计的原理图转为了PCB&#xff0c;在PCB界面下出现了所有的封装&#xff0c;以及所有的飞线属性&…...

ElevenLabs荷兰文语音生成速度对比实测:从4.2s→0.8s的WebSocket流式优化路径(附可复用代码片段)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs荷兰文语音生成速度对比实测&#xff1a;从4.2s→0.8s的WebSocket流式优化路径&#xff08;附可复用代码片段&#xff09; ElevenLabs 的 Dutch&#xff08;nl-NL&#xff09;语音合成在默认…...

知识竞赛大屏计分方案:让比分一目了然

&#x1f4fa; 知识竞赛大屏计分方案&#xff1a;让比分一目了然实时准确 视觉直观 操作简便 打造专业竞赛体验&#x1f3af; 一、方案核心架构大屏计分方案通常由三部分组成&#xff1a;&#x1f5a5;️ 主控端&#xff1a;操作员电脑&#xff0c;运行计分软件&#x1f4fa…...

【深度解析】从 Antigravity 2.0 看 AI Agent 的产品化演进:动态子代理、项目工作区与多模型编排实战

摘要&#xff1a; Google Antigravity 2.0 的核心变化&#xff0c;不只是功能增加&#xff0c;而是把 AI Agent 从“对话工具”推进到“可编排的执行系统”。本文解析动态子代理、项目级工作区、后台任务与工具链设计&#xff0c;并给出基于 OpenAI 兼容接口的 Python 实战代码…...

如何高效配置Diva Mod Manager:初音未来MOD管理完整操作指南

如何高效配置Diva Mod Manager&#xff1a;初音未来MOD管理完整操作指南 【免费下载链接】DivaModManager 项目地址: https://gitcode.com/gh_mirrors/di/DivaModManager Diva Mod Manager是一款专为《初音未来&#xff1a;Project Diva Mega Mix》设计的MOD管理工具&a…...

NVIDIA突破:单显卡实现图片驱动720p长视频世界模型生成能力提升

这项由NVIDIA研究团队主导的研究成果于2026年5月以预印本形式发布&#xff0c;论文编号为arXiv:2605.15178&#xff0c;感兴趣的读者可通过该编号查阅完整原文。给你一张照片&#xff0c;再给你一条摄像机的移动路线&#xff0c;然后电脑自动生成一段完整的一分钟高清视频&…...

ElevenLabs芬兰语TTS部署踩坑实录(含CI/CD流水线集成模板):1次失败=2.3小时调试,我们帮你省下87%时间

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ElevenLabs芬兰语TTS部署踩坑实录&#xff08;含CI/CD流水线集成模板&#xff09;&#xff1a;1次失败2.3小时调试&#xff0c;我们帮你省下87%时间 核心痛点&#xff1a;芬兰语语音合成的隐性陷阱 ElevenLab…...

别再手动一个个改了!ArcGIS属性表字段批量删除与数据裁剪的‘偷懒’技巧

ArcGIS高效工作流&#xff1a;属性表与数据批处理的进阶技巧 在GIS工程师的日常工作中&#xff0c;最令人头疼的莫过于那些看似简单却需要重复上百次的操作——删除几十个无用字段、裁剪数百个栅格图层、批量修改投影坐标系。这些机械性劳动不仅消耗时间&#xff0c;更消磨创造…...

ComfyUI Manager终极指南:简单快速管理你的AI绘画插件生态系统

ComfyUI Manager终极指南&#xff1a;简单快速管理你的AI绘画插件生态系统 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vario…...

PowerBI主题模板完整指南:35个JSON模板快速打造专业报表

PowerBI主题模板完整指南&#xff1a;35个JSON模板快速打造专业报表 【免费下载链接】PowerBI-ThemeTemplates Snippets for assembling Power BI Themes 项目地址: https://gitcode.com/gh_mirrors/po/PowerBI-ThemeTemplates 还在为PowerBI报表的单调外观而烦恼吗&…...

Cocos学习笔记:帧动画制作与动画编辑器使用

一、帧动画基础原理核心逻辑&#xff1a;帧动画本质是逐帧替换精灵&#xff08;Sprite&#xff09;的显示图片&#xff0c;通过控制图片切换频率&#xff0c;让静态序列图呈现连续动态效果。视觉原理&#xff1a;人眼存在视觉残留特性&#xff0c;短时间内连续播放 24 帧以上图…...