洛谷C++简单题小练习day14—闰年推算小程序

day14--闰年推算小程序--2.18

习题概述

题目描述

输入 x,y,输出 [x,y] 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。

输入格式

输入两个正整数 x,y,以空格隔开。

输出格式

第一行输出一个正整数,表示 [x,y] 区间中闰年个数。

第二行输出若干个正整数,按照年份单调递增的顺序输出所有闰年年份数字。

代码部分

#include<bits/stdc++.h>
using namespace std;
bool isLeapYear(int year)//判断是否为闰年函数 
{if (year % 4 != 0) {return false;//不能被4整除 不是 }else if (year % 100 != 0) {return true;//可被4整除但不能被100整除 是 }else if (year % 400 != 0) {return false;//可被100整除但不能被400整除 不是 }else {return true;}
}int main() {int x, y;cin >> x >> y;vector<int> leapYears;//创建一个存储闰年的向量int count = 0;//计数器for (int year = x; year <= y; year++)//循环遍历输入范围内的年份{if (isLeapYear(year)) {count++;//是闰年增加计数器count并将该年份添加到leapYears向量中。leapYears.push_back(year);}}cout << count <<endl;//输出闰年总数量 //遍历leapYears向量,输出所有的闰年年份 for (int i = 0; i < leapYears.size(); i++) {cout << leapYears[i] << " ";}cout <<endl;return 0;
}

心得体会

1.  闰年是指具有366天的年份,相对于平年的365天来说多出了一天。闰年的判断规则如下:

1)如果年份能够被4整除,但不能被100整除,则是闰年。

2)如果年份能够同时被4和100整除,但不能被400整除,则不是闰年。

3)如果年份能够同时被4、100和400整除,则是闰年。

以下是一些示例:

·2000年是闰年,因为它可以被4、100和400整除。

·1900年不是闰年,因为它可以被4和100整除,但不能被400整除。

·2024年是闰年,因为它可以被4整除,但不能被100整除。

2. 在这段代码中,使用了容器(vector)来存储闰年。使用容器的好处是可以动态地存储和管理数据,而无需提前知道要存储多少个元素。

在这段代码中,使用了一个名为leapYears的向量来存储闰年。每当遇到一个闰年时,将该年份添加到向量中。这样,最后就可以通过遍历向量来输出所有的闰年。

3.对于这段代码中使用的向量容器,可以使用下标运算符[]来访问并输出其中的元素。例如,要输出向量leapYears中的第i个元素,可以使用以下语句:

cout << leapYears[i];

这将输出向量中的第i个元素。需要注意的是,向量的下标从0开始,因此第一个元素的下标为0,第二个元素的下标为1,以此类推。也可以使用迭代器来遍历容器中的所有元素,这是使用容器时更常见的做法。例如,可以使用以下代码输出向量中的所有元素:

for (vector<int>::iterator it = leapYears.begin(); it != leapYears.end(); ++it){ cout << *it << " "; }

这个循环使用迭代器it来遍历向量中的所有元素。it首先被初始化为向量的起始位置leapYears.begin(),然后在每次迭代中递增,直到it等于向量的结束位置leapYears.end()。在循环体中,使用解引用运算符*来获取迭代器指向的元素,并输出它们。

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

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

相关文章

原创!顶级SCI优化!一键实现ICEEMDAN-NRBO-BiLSTM-Attention多变量时间序列预测!以光伏数据集为例

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 数据介绍 模型流程 创新点 结果展示 完整…

opencv-python保存视频为mp4格式并支持在浏览器播放

前言 之前在项目上使用yolov8进行视频检测的时候&#xff0c;yolov8默认windows系统下保存的是avi格式 suffix, fourcc (.mp4, avc1) if MACOS else (.avi, WMV2) if WINDOWS else (.avi, MJPG) self.vid_writer[idx] cv2.VideoWriter(str(Path(save_path).with_suffix(suf…

【感知机】感知机(perceptron)学习算法知识点汇总

机器学习——感知机 感知机(perceptron)是一种二分类的线性模型&#xff0c;属于判别模型&#xff0c;也称为线性二分类器。输入为实例的特征向量&#xff0c;输出为实例的类别(取1和-1)。可以视为一种使用阶梯函数激活的人工神经元,例如通过梅尔频率倒谱系数&#xff08;MFCC…

N叉树的后序遍历

1.题目 这道题是2024-2-19的签到题&#xff0c;题目难度为简单。 考察的知识点为DFS算法&#xff08;树的深度遍历&#xff09;。 题目链接&#xff1a;N叉树的后序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进…

leetcode刷题-最接近的三位数之和

1.题目描述 2.解题思路 其实这个题目的解题思路&#xff0c;和昨天写的两个题目差不多&#xff0c;定义两个指针&#xff0c;进行排序&#xff0c;避免多次大量循环&#xff0c;减少时间复杂度。在上次的基础上进行了一个比较小的改动。 3.代码 class Solution:def threeSumCl…

swagger+javax/xml/bind/DatatypeConverter+aop各种问题

文章目录 一、No operations defined in spec!1.问题图片2.解决方法 二、java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter1.问题图片2.解决方法 三、AOP切点不够精确问题1.问题描述2.解决方案 总结 一、No operations defined in spec! 这是swagger报的错&…

代码随想录算法训练营 DAY20 | 二叉树(7)

一、LeetCode 530 二叉搜索树的最小绝对值 题目链接&#xff1a;530.二叉搜索树的最小绝对值https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 思路一&#xff1a;利用搜索二叉树的中序遍历结果为有序数组的性质&#xff0c;将遍历结果保存到数组中&#xf…

【Google SEO】SEO指标

SEO最难的事情之一就是&#xff1a; 你怎么知道你正在做的事情是否真的有效&#xff1f; 这是一个很难回答的问题。特别是因为SEO可能需要几个月的时间才能真正发挥作用。 好吧&#xff0c;今天您将确切地看到要跟踪的SEO指标。如何跟踪它们。以及如何加倍努力&#xff0c;为…

阿里云香港轻量应用服务器是什么线路?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

分库分表面试必背

一&#xff0c;背景 随着互联网的普及&#xff0c;使用人数和场景爆炸式增长&#xff0c;现在随便一个应用系统都可能达到数百万千万甚至更大数量级的数据。大量的数据带来了新的挑战&#xff0c;怎么快速完成增删改查的业务&#xff0c;是应用服务开发者最头痛的问题。面对这个…

Linux网络编程套接字

目录 认识端口号认识传输层协议TCP/UDP网络字节序socket编程接口实现简单的UDP网络程序实现远程执行服务器shell指令Windows套接字编写UDP实现一个简单的聊天室实现简单的TCP网络程序TCP实现一个中英互译程序守护进程原理 认识端口号 在进行网络通信的时候是不是我们两台机器…

grafana配置钉钉告警模版(一)

1、配置钉钉告警模版 创建钉钉告警模版&#xff0c;然后在创建钉钉告警时调用模版。 定义发送内容具体代码 my_text_alert_list 是模版名称后面再配置钉钉告警时需要调用。 {{/* 定义消息体片段 */}} {{ define "my_text_alert_list" }}{{ range . }}告警名称&…

SpringAop是什么?

简单介绍&#xff1a; AOP&#xff1a;Aspect Oriented Programming (面向切面编程、面向方面编程)&#xff0c;其实就是面向特定方法编程。 场景&#xff1a; 比如现在有一个需求&#xff0c;我要统计每一个业务方法的耗时时长&#xff0c; 我们只需在业务方法的前面获取一个…

srs 边缘集群

srs官方关于边缘集群的介绍&#xff1a; Edge Cluster | SRS 本篇分析一下边缘集群中上行边缘节点的处理逻辑。 关于上行的边缘节点&#xff1a; SRS对于上行边缘&#xff0c;采取直接代理方式&#xff0c;并没有采取边缘缓存方式。所谓边缘缓存方式&#xff0c;即推流到边…

操作系统概念

一、概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。笼统的理解&#xff0c;操作系统包括&#xff1a; 内核&#xff08;进程管理&#xff0c;内存管理&#xff0c;文件管理&#xff0c;驱动管理&#xff09;其他程序&#xff08;例如函数库&…

区块链技术和Hyperledger Fabric介绍

1 区块链介绍 1.1 区块链技术形成 1.1.1 起源 在比特币诞生之时&#xff0c;技术专家们开始研究比特币的底层技术&#xff0c;并抽象提取出来&#xff0c;形成区块链技术&#xff0c;或者称分布式账本技术。 1.1.2 定义 简称BT&#xff08;Blockchain technology&#xff…

【递归】【后续遍历】【迭代】【队列】Leetcode 101 对称二叉树

【递归】【后续遍历】Leetcode 101 对称二叉树 解法一&#xff1a; 递归&#xff1a;后序遍历 左右中解法二&#xff1a; 迭代法&#xff0c;用了单端队列 ---------------&#x1f388;&#x1f388;对称二叉树 题目链接&#x1f388;&#x1f388;------------------- 解法一…

Eclipse - Code Templates

Eclipse - Code Templates References Window -> Preferences -> C/C -> Code Style -> Code Templates 配置默认代码模板&#xff0c;可以点击 Export 将自己配置好的 Code Templates 导出去&#xff0c;以便备份和共享。 References [1] Yongqiang Cheng, https…

Docker原理及概念相关

Docker最核心的组件 image&#xff1a;镜像&#xff0c;构建容器&#xff0c;也可以通过Dockerfile文本描述镜像的内容。 (我们将应用程序运行所需的环境&#xff0c;打包为镜像文件) Container&#xff1a;容器 (你的应用程序&#xff0c;就跑在容器中 ) 镜像仓库(dockerhub)(…

应急响应实战笔记02日志分析篇(5)

第5篇:MySQL日志分析 常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析&#xff0c;可以发现攻击行为&#xff0c;进一步还原攻击场景及追溯攻击源。 0x01 Mysql日志分析 general query log能记录成功连接和每次执行的查询&#xff0c;我们…