最近把算法竞赛入门经典的前半部分看完了,开始看算法笔记入门算法。

看了前半部分的例题,很多是算法竞赛入门经典中出现过的,但是感觉这本书写的更适合初学者,而且真的很像考试笔记,通俗易懂。

//日期问题
#include <iostream>
using namespace std; const int month[13][2] = //第二维:0:非闰年,1:闰年
{
{0, 0}, //方便取
{31,31}, //1
{28,29}, //2
{31,31}, //3
{30,30}, //4
{31,31}, //5
{30,30}, //6
{31,31}, //7
{31,31}, //8
{30,30}, //9
{31,31}, //10
{30,30}, //11
{31,31} //12
}; bool is_leap(int a)
{
if ( ((a % 100 != 0)&&(a % 4 == 0)) || (a % 400 == 0) )
{
return 1;
}
else return 0;
} int main()
{
int time1, year1, month1, day1;
int time2, year2, month2, day2;
scanf("%d%d", &time1, &time2); if(time1 > time2) swap(time1, time2); //保证第一个日期小于第二个日期
//printf("time1 %d\ntime2 %d\n", time1, time2); day1 = time1 % 100;
time1 /= 100;
month1 = time1 % 100;
time1 /= 100;
year1 = time1;
//printf("%02d\n%02d\n%04d\n", day1, month1, year1); day2 = time2 % 100;
time2 /= 100;
month2 = time2 % 100;
time2 /= 100;
year2 = time2; int cnt = 1; //计数器,用于计算两个日期之间的差日\
不设置为0设置为1是因为如果两个日期是连续的,规定它们之间的天数为两天。 //对1的数据进行每日加加,直至等于2的数据。
while ( year1<year2 || month1<month2 || day1<day2 )
{
day1++;
// cnt++;
if(day1 > month[month1][is_leap(year1)])
{
month1++;
day1 = 1;
}
if(month1 > 12)
{
year1++;
month1 = 1;
}
cnt++;
}
cout << cnt << endl;
//cout << is_leap(2020) <<endl; system("pause");
}

【C/C++】日期问题/算法笔记/入门模拟的更多相关文章

  1. 《算法笔记》之基础C/C++入门

    开始进行算法笔记的学习,在此纪录下来,同时作为自己日后复习资料. 1.基本语法 #include <iostream> using namespace std; int main(){ c ...

  2. 【笔记】《算法竞赛入门》习题7-6 UVa12113_重叠的正方形

    title: 习题7-6 UVa12113_重叠的正方形 date: 2021-01-31 19:08:00 categories: 算法竞赛入门 tags: 数据结构 算法 UVa <算法竞赛 ...

  3. 【笔记】《算法竞赛入门》习题7-3 UVa211_多米诺效应

    title: 习题7-3 UVa211_多米诺效应 date: 2021-01-29 19:08:00 categories: 算法竞赛入门 tags: 数据结构 算法 UVa 题目: 使用28个多米 ...

  4. PHP学习笔记 - 入门篇(5)

    PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...

  5. 算法笔记——C/C++语言基础篇(已完结)

    开始系统学习算法,希望自己能够坚持下去,期间会把常用到的算法写进此博客,便于以后复习,同时希望能够给初学者提供一定的帮助,手敲难免存在错误,欢迎评论指正,共同学习.博客也可能会引用别人写的代码,如有引 ...

  6. 【算法笔记】二分图与KM算法(当你试图只看蓝书学算法

    前言 呜,好久没写博客了,DDL 也有好多,一不留神就轮到我了呜. 看了一眼其它同学写的博客,什么数模啊,什么 CTF 啊,什么 Python 爬虫啊,感觉自己真是越来越菜了呜. 然后在我一愁莫展之际 ...

  7. 一个JS的日期格式化算法示例

    一个JS的日期格式化算法. 例子: <script> /** * Js日期格式化算法实例 * by www.jbxue.com */ function dateFormat(date, f ...

  8. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  9. PHP学习笔记 - 入门篇(3)

    PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...

随机推荐

  1. Nginx面试题(总结最全面的面试题!!!)

    https://blog.csdn.net/weixin_43122090/article/details/105461971

  2. [第二章]c++学习笔记5(构造函数和析构函数调用时机)

    示例函数 注:输出并不一定从main函数开始,如全局对象的初始化在main函数前执行,如构造函数中存在输出,则从构造函数的输出开始 此处6被类型转换构造函数的存在转换为临时对象赋值,而在这个过程结束后 ...

  3. Python进阶(装饰器)

    from datetime import datetime def log(func):#func表示装饰器作用于的函数 def wrapper(*args,**kw):#wrapper返回装饰器作用 ...

  4. ELK 7.4.2 单机安装配置

    Java环境准备 JDK下载 https://www.oracle.com/technetwork/java/javase/overview/index.html [root@manager ~]# ...

  5. python实现高斯滤波

    一,定义 核是:3 *3     均值滤波 二,高斯函数 Y方向的方差与X方向的一致.处理后图像看起来更模糊(滤波明显)的话,核要更大. (三)代码实现 (四)核计算 (五)图像产生高斯噪声循环代码实 ...

  6. python实现高斯图像金字塔

    一,定义 图像金字塔:同一图像的不同分辨率的子图集合,其生成方式有向上取样和向下取样.向下取样是从G0采样形成分辨率较低的G1,G1再采样形成分辨率较低的G2......,就构成了一个金字塔.向下取样 ...

  7. [cf1458C]Latin Square

    维护$n^{2}$个三元组$(x,y,z)$,每一个三元组描述$a_{x,y}=z$ 对于RLDU这四个操作,即将所有三元组的$x$或$y$执行$\pm 1$(模$n$意义下) 对于IC这两个操作,即 ...

  8. [bzoj3123]森林

    首先对于询问操作可以使用可持久化线段树来维护,对于连边操作对于两颗树中选取较小的树暴力练到另一个点上,点数可以用并查集然后只修改根的点数即可. 1 #include<bits/stdc++.h& ...

  9. 【JavaSE】JDK配置

    Java开发环境配置 2020-09-10  08:32:20  by冲冲 1. Windows7安装JDK 1.1 下载JDK ① 下载地址:http://www.oracle.com/techne ...

  10. MySQL 在线开启&关闭GTID模式

    MySQL 在线开启&关闭GTID模式 目录 MySQL 在线开启&关闭GTID模式 基本概述 在线开启GTID 1. 设置GTID校验ENFORCE_GTID_CONSISTENCY ...