算法学习:模拟

题源:回文日期

题目:9ba68aca99cd4f0c8137122982e9a5bb.png

下面我们对题目进行分析,首先涉及到日期,我们很敏感的考虑到日期的合法性,而日期的合法性中又分为普通日期和特殊日期(闰年二月)。

再结合这道题目,对8位数的日期进行判断是否为回文日期,所以这道题目需要考虑到日期的合法性。 因此我们首先判断是否为闰年,这部分代码也是喜闻乐见了。如下:

ce4baed4969f44ef97d09384141b7be4.png 

 第二步对普通日期的合法性进行判断,代码如下

f2d408b591f64745a5d92208740efd48.png

 只有在月份为2时我们才会有针对闰年的判断,剩余的判断就是常识啦。

由于需要对8位数中的每一个数都进行判断是否合理,所以我们采取将8个数均提取出来再判断的方式,同时需要对8位数进行年月日对拆解。具体代码如下:

00b11edcafc6449ba1b80313cbe72ed7.png

再看题目,只对普通的回文日期输出一次,而需进行判断的数的范围极大,所以我们设置一个标志数来控制输出。首先设置flag=false,当第一次输出回文值后flag变为true则不再输出回文值。代码如下883be19283934b8bb80a26800c7f95bf.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值