博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
世界完全对称日计算(C++)
阅读量:5860 次
发布时间:2019-06-19

本文共 1483 字,大约阅读时间需要 4 分钟。

今天是世界完全对称日(2011 1102),所以就想写一个算法来计算一段时间内所有的完全对称日。看看有多少日期是世界完全对称日

 

描述:

输入开始和结束年份,求出其中所有的完全对称日。

输入:

输入开始年份startYear和结束年份endYear (startYear < endYear);

输出:

输出所要求的完全对称日。

 

解题思路:

1)根据月份和天,逆序后算出对应的年份的日期 (如1月1号 -> 0101 -> 1010,则年份是1010年)

2)判断计算出来的年份是否在输入的年份之间

3)排除非闰年时2月29号这个不合法日期

 

代码:

#include 
#include
#include
#include
#include
using namespace std; const int MonthDays[] ={
31,29,31,30,31,30,31,31,30,31,30,31 }; class SymmetricalDay {
public: bool isLeap(int year) {
return (( year % 4 == 0 ) && ( year % 100 != 0 ) || ( year % 400 == 0 )); } vector
getDays(int startYear, int endYear) { vector
results; for (int curMonth = 1; curMonth <= 12; ++curMonth) { for (int curDay = 1; curDay <= MonthDays[curMonth-1]; ++curDay) { ostringstream tempValue; tempValue << setw(2) << setfill('0') << curMonth; tempValue << setw(2) << setfill('0') << curDay; string strData(tempValue.str()); string strReverse(strData.rbegin(), strData.rend()); istringstream yearValue(strReverse); int curYear = 0; yearValue >> curYear; if (curYear >= startYear && curYear <= endYear) { if (!isLeap(curYear) && curMonth==2 && curDay==29) { continue; } string tempResult = yearValue.str() + "" + tempValue.str(); results.push_back(tempResult); } } } sort(results.begin(), results.end()); return results; } };

转载于:https://www.cnblogs.com/Quincy/archive/2011/11/02/2233493.html

你可能感兴趣的文章
angularjs1-7,供应商
查看>>
oracle参数列表
查看>>
Wordpress3.2去除url中的category(不用插件实现)
查看>>
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine-Excel2003
查看>>
macOS Sierra 代码显示未来 Mac 将搭载 ARM 芯片
查看>>
《Arduino家居安全系统构建实战》——1.3 部署安全系统的先决条件
查看>>
Linux 中如何通过命令行访问 Dropbox
查看>>
《jQuery移动开发》—— 1.3 小结
查看>>
使用 Flutter 反序列化 JSON 的一些选项
查看>>
开发进度——4
查看>>
etymology-F
查看>>
Mycat安装以及使用测试
查看>>
JS里验证信息
查看>>
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Hello , Ruby!
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
详解Microsoft.AspNetCore.CookiePolicy
查看>>
SCDPM2012 R2实战一:基于SQL 2008 R2集群的SCDPM2012 R2的安装
查看>>
SQL SERVER中字段类型与C#数据类型的对应关系
查看>>