C++课后习题训练记录Day67

1.练习项目:

题目描述

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。

有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,顶多算 “千年两遇”。

给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。

输入描述

输入包含一个八位整数 N,表示日期。

对于所有评测用例,10000101≤N≤89991231,保证 N 是一个合法日期的 8 位数表示。

输出描述

输出两行,每行 1 个八位数。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。

2.选择课程

在蓝桥云课中选择题库,选择题号498并开始练习。

3.开始练习

(1)源码:
#include<bits/stdc++.h>
using namespace std;
int s2i(string s)
{
int res=0;
for(const auto&i:s){
res=res * 10 + i - '0';
}
return res;
}
string i2s(int x,int w){
string res;
while(x){
res+=(x%10)+'0';
x/=10;
}
while(res.length()<w){
res+='0';
}
reverse(res.begin(),res.end());
return res;
}
bool isLeapyear(int year)
{
return (year%4==0&&year%100!=0)||(year%400==0);
}
bool isok(int year,int month,int day)
{
int days[]={0,31,28,31,30,31,30,31,31,30,31};
if(isLeapyear(year)){
days[2]=29;
}
return day<=days[month];
}
bool ispa(string s)
{
for(int i=0;i<s.length()/2;i++){
if(s[i]!=s[s.length()-1-i]){
return false;
}
}
return true;
}
bool ispa2(string s)
{
if(!ispa(s)){
return false;
}
return s[0]==s[2]&&s[1]==s[3];
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
string s;
cin>>s;
int year=s2i(s.substr(0,4)),month=s2i(s.substr(4,2)),day=s2i(s.substr(6,2));
bool ans1=false,ans2=false;
for(int i=year;i<=9999;i++){
for(int j=1;j<=12;j++){
if(i==year&&j<month){
continue;
}
for(int k=1;k<=31;k++){
if(i==year&&j==month&&k<=day){
continue;
}
if(!isok(i,j,k)){
continue;
}
string date=i2s(i,4)+i2s(j,2)+i2s(k,2);
if(!ans1&&ispa(date)){
cout<<date<<'\n';
ans1=true;
}
if(!ans2&&ispa2(date)){
cout<<date<<'\n';
ans2=true;
}
}
}
}
return 0;
}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux驱动学习笔记:SPI OLED 驱动源码深度分析

这份笔记是关于 Linux SPI OLED 驱动&#xff08;基于 Framebuffer 架构&#xff09;的深度代码分析与学习笔记。旨在梳理驱动的分层架构、核心难点&#xff08;数据格式转换&#xff09;、以及关键机制&#xff08;内核线程与 DMA 内存管理&#xff09;的设计原理。Linux SPI …

SystemVerilog:告别锁存器,优雅驾驭FPGA设计

SystemVerilog避坑指南&#xff1a;告别锁存器&#xff0c;优雅驾驭FPGA设计在ASIC/FPGA开发中&#xff0c;锁存器&#xff08;Latch&#xff09;往往是设计师最不想看到的“不速之客”&#xff0c;而SystemVerilog提供了一套优雅的语法工具&#xff0c;让我们能够从根本上规避…

眼调节训练灯:防控近视的“黑科技”,究竟如何守护孩子的视界?

在电子设备普及、近距离用眼成为常态的当下&#xff0c;儿童青少年近视率居高不下&#xff0c;已成为影响孩子身心健康的重要问题。家长们尝试过增加户外活动、控制用眼时长、改善读写姿势等多种方法&#xff0c;但近视防控的效果仍不尽如人意。究其原因&#xff0c;很多防控手…

基于Java的家教智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 家教智慧管理系统整合学校、年级、科目等多维度信息&#xff0c;实现数据的高效管理与智能匹配。系统功能模块化设计确保普通员工和部门领导操作简便&#xff0c;提高工作效率的同时降低开发难度。相比传统选题&#xff0c;该系统更加贴近…

彼得林奇的“反周期“投资在不同资产类别中的应用

彼得林奇的“反周期”投资在不同资产类别中的应用 关键词:彼得林奇、反周期投资、资产类别、投资策略、金融市场 摘要:本文深入探讨了彼得林奇的“反周期”投资策略在不同资产类别中的应用。首先介绍了该投资策略的背景和相关概念,阐述了其核心原理。接着详细讲解了该策略背…

2026 年户外LED广告公司综合实力排行榜单及选择建议指南:2026年户外LED广告公司如何选?哪家好?哪家强?哪家靠谱?选哪家 - Top品牌推荐

一、行业概况与发展现状 1.1 市场规模与增长趋势 户外 LED 广告作为数字经济时代的重要传播载体,正经历快速发展阶段。根据最新市场调研数据显示:2024 年中国户外 LED 广告市场规模已突破 300 亿元预计 2025 年将保持…

视频去水印与去字幕教程:免费去水印软件与去字幕工具推荐

在视频编辑中&#xff0c;去水印与去字幕是许多创作者常用的技巧。通过使用高效的去水印和去字幕工具&#xff0c;你可以轻松去除视频中的水印与硬字幕&#xff0c;获得更清晰、更专业的播放效果。本教程将向你推荐一些免费的去水印软件和去字幕工具&#xff0c;并提供详细的使…

[服务器DEBUG] 记一次通过BMC远程重启服务器的经历

为什么我需要通过BMC重启服务器? 事情经过可以分为3步:昨晚我写了个图算法查找图中全部Simple Cycle,但是运行时间太久我就让他在远程服务器一直运行了一晚上第二天我发现服务器不能通过SSH远程连接了(表现是一直卡…

[豪の算法奇妙冒险] 代码随想录算法训练营第三十天 | 452-用最少数量的箭引爆气球、435-无重叠区间、763-划分字母区间

LeetCode452 用最少数量的箭引爆气球、LeetCode435 无重叠区间、LeetCode763 划分字母区间代码随想录算法训练营第三十天 | 452-用最少数量的箭引爆气球、435-无重叠区间、763-划分字母区间LeetCode452 用最少数量的箭…

彼得林奇的“家庭股票“在财富传承中的角色

彼得林奇的“家庭股票”在财富传承中的角色关键词&#xff1a;彼得林奇、家庭股票、财富传承、投资策略、长期价值摘要&#xff1a;本文深入探讨了彼得林奇所提出的“家庭股票”概念在财富传承中的重要角色。首先介绍了相关背景&#xff0c;包括目的、预期读者、文档结构和术语…

c++ qt 下载与环境配置

c++ qt 下载与环境配置qt在5.15版本后从离线安装改成了在线安装模式,下面先说一下qt的安装与环境配置步骤 1.点击右上角下载试用(Download. Try.)2.点击右上角Community User下载社区版3.根据操作系统下载合适的在线下…

智能厨房助手:AI Agent的营养均衡膳食规划

智能厨房助手:AI Agent的营养均衡膳食规划 关键词:智能厨房助手、AI Agent、营养均衡膳食规划、人工智能、健康饮食 摘要:本文围绕智能厨房助手利用AI Agent进行营养均衡膳食规划展开。深入探讨了相关核心概念、算法原理、数学模型,通过实际项目案例展示了如何实现这一功能…

全网最全继续教育TOP10AI论文软件测评与推荐

全网最全继续教育TOP10AI论文软件测评与推荐 2026年继续教育AI论文工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI写作工具在学术研究和继续教育领域的应用日益广泛。然而&#xff0c;面对市场上众多产品&#xff0c;如何选择…

Unity 游戏逆向:使用 Il2CppDumper 还原 C# 符号表,修改 DLL 实现“无敌模式”

标签&#xff1a; #GameSecurity #ReverseEngineering #Unity #Il2Cpp #Assembly #IDA&#x1f9f1; 前言&#xff1a;Mono vs Il2Cpp Mono: C# -> IL (中间语言)。DLL 包含元数据&#xff0c;极易反编译。Il2Cpp: C# -> IL -> C -> Native Code (机器码)。DLL 只有…

深度剖析AI原生应用的用户体验优化

深度剖析AI原生应用的用户体验优化&#xff1a;从"工具盒子"到"智能伙伴"的进化之旅关键词&#xff1a;AI原生应用、用户体验优化、智能交互、上下文感知、信任构建摘要&#xff1a;当ChatGPT用自然对话帮你写周报&#xff0c;当Midjourney根据只言片语生成…

springclouded集成nacos3读取不到nacos配置

起因是今天写毕设,通过nacos配置DataSourece时,发现微服务启动报错没找到url。但是放本地又能正常启动,因为这个问题导致我折腾半天。没想到实际却很简单。 在nacos服务上的配置文件的data-id没有文件后缀名(图1)…

【多式联运】基于AFO算法、GA和PSO算法求解不确定多式联运路径优化问题,同时和MATLAB自带的全局优化搜索器进行对比附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

C#多线程编程03-异步编程

1、多线程编程侧重于分而治之的方面,异步编程同样是多线程编程但是侧重于将长时间运行的任务卸载,其强调了有任务在主线程之外运行的情况2、多线程编程通常用于CPU密集型操作,异步编程特别适用于I/O密集型操作:大多…

【多输入多输出(MIMO)干扰网络的能效优化】基于采用迭代半定规划-加权最小均方误差(SDP-WMMSE)算法与逐次凸逼近(SCA)算法求解MIMO干扰无线网络的能效优化问题研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…