【蓝桥杯】【星系炸弹】
2016-01-06 11:11
281 查看
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
分析:按天循环,注意闰年,思路同《高斯日记》
源码:
最后的答案是:2017-08-05
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
分析:按天循环,注意闰年,思路同《高斯日记》
源码:
public class Test003 { public static void main(String[] args) { // 创建一个二维数组,表示每个月的天数 int[][] daysMonth = { { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } }; int sumDays = 0; // 经过的天数 int year = 2014; int month = 10; // 初始化的月份是11月 int day = 9; //初始化的号是9 ok: while (true) { int type = leapType(year); int[] dm = daysMonth[type]; while (month < 12) { while (day < dm[month]) { sumDays++; day++; if (sumDays == 1000) { break ok; } } month++; day = 0; } //进入下一年 month = 0; year++; } System.out.println(year + "-" + (month + 1) + "-" + day); } // 如果是平年,返回0;如果是闰年,返回1 private static int leapType(int year) { int flag; if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { flag = 1; } else { flag = 0; } return flag; } }
最后的答案是:2017-08-05
相关文章推荐
- 奇异值分解(SVD)
- JS判断浏览器
- 正则表达式
- H5canvas赛车游戏-基于lufylegend引擎
- gulp
- sudo执行脚本找不到环境变量解决方法
- 用数据说话的运维年度总结该怎么写?
- andriod studio里给aapt添加参数
- mvc4+easyui报JavaScript 运行时错误: 对象不支持“xxx”属性或方法
- JavaScript引用类型和基本类型详解
- 你真的了解 MySQL 数据库的运行状况吗?
- 导入和导出eclipse代码格式化模板
- cntlm 配置
- 安装heartbeat-heartbeat
- BLE的最大竞争对手是ZigBee、Wi-Fi、Ant+以及一系列广泛的专有协议
- iOS支付宝客户端应用开发指南
- SmartFinder--Mac电脑终于有手机助手了
- 在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址?
- JAVA线程池的创建
- 常用js总结