描述
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
思路
考虑闰年情况,只需将日期加到1000天即可,但要更新日,月和年,加个判断即可。
答案:2017-08-05
代码
#include<cstdio>
using namespace std;
int arr[13][2]={{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};
bool isLeap(int year)//判断是否为闰年;
{
return (year%100!=0 && year%4==0) || year%400==0;
}
int main()
{
int year=2014,mouth=11,day=9,num=1000;
while(num>0)
{
num--;
day++;
if(day==arr[mouth][isLeap(year)]+1)
{
day=1;
mouth++;
}
if(mouth==13)
{
mouth=1;
year++;
}
}
printf("%d-%02d-%02d",year,mouth,day);
return 0;
}
当然有些聪明的朋友会使用excel直接得出答案,我不会,在这里就不演示了。