java实现第四届蓝桥杯世纪末星期
世纪末星期
题目描述
曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会…
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!
于是,“谣言制造商”又修改为星期日…
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
解题思路
这里用到了Java中的一个日期API——Calendar(1970年后的日期才可以使用这个API)
只需从1999年开始每次增加100年遍历,看看对应世纪末年份12月31日是否为星期日即可停止遍历。
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
for (int year = 1999; year < 10000; year += 100) {
calendar.set(year, 11, 31); // 注意0是代表1月份,所以12月份应该是11
if (calendar.get(Calendar.DAY_OF_WEEK) == 1) { // 这里星期日为1,星期一为2...
System.out.println(year);
break;
}
}
}
}
结果
2299
提示:题意中埋了一个坑,它说1999年的12月31日是星期五,这里我们应该验证一下实际中这天是否为星期五再去解题。
我们可以用calendar.set(1999, 11, 31);和System.out.println(calendar.get(Calendar.DAY_OF_WEEK));这两句来看看输出结果是否为6
巧解
其实这道题我们可以直接借助excel的内置函数来解决。
1、我们在A1单元格这里输入1999年12月31日
2、选中B2这个单元格,在输入框输入=WEEKDAY(A1,2)然后回车。这里第一个参数是想到得到对应星期的日期所在的单元格位置,第二个给2是为了,让1代表星期一,2代表星期二等,这样子方便看点。假如给1则1代表星期日了。
3、在A2单元格中输入2099年12月31日,然后选中A1和A2这两个单元格往下拉。这样A列就是每次增加100年的了。最后选中B1这个单元格往下拉,就能得出左边对应日期所对应的星期了。
这样就得出了2299这个答案了。
最新文章
- 【转载】【树形DP】【数学期望】Codeforces Round #362 (Div. 2) D.Puzzles
- charCode与keyCode的区别
- PHP 生成图片缩略图函数
- ionic环境搭建和安装
- MySQL数据库的常用操作
- bzoj 2241: [SDOI2011]打地鼠
- Windows IP安全策略。
- cocos2d游戏界面卡住声音正常播放的问题分析
- Web内容管理系统 Magnolia 安装使用-挖掘优良的架构(2)
- PowerShell 解锁使用浏览器下载的文件
- 坑爹火狐浏览器会记录表单数据,导致服务器控件点击事件出bug
- Javascript中call和apply
- Ubuntu 16.04 源码编译安装PHP7
- BZOJ_2502_清理雪道_有源汇上下界最小流
- Ajax中onreadystatechange函数不执行,是因为放在open()后
- 016 在大数据中,SSH无密钥登录
- HDU 2072 - 单词数 - [(有点小坑的)字典树模板题]
- go语言sync包的学习(Mutex、WaitGroup、Cond)
- Codeforces821C Okabe and Boxes 2017-06-28 15:24 35人阅读 评论(0) 收藏
- 000 关于IDEA的基本环境配置以及快速使用(git拉载程序,Jdk安装,tomcat部署,应用程序打包运行)
热门文章
- Mysql 常用函数(8)- concat 函数
- Mybatis系列二-快速开发
- 关于字符串函数size()的问题
- County Fair Events
- Vue与 Vue组件部分
- 数据结构----栈stack
- CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\ad888a2
- Spring 框架的 AOP 简介
- format函数格式化显示的方法
- python字典详细介绍