对于数学学渣的我来说,如果算这道题也还能说得过去,不过还是编程来的更精确点。
星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
考虑到闰年,在考虑到循环,就轻松了;
#include<stdio.h> int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int main() { int y,m,d; int t; y=2014; m=10; d=9; t=1000; while(t>0) { if(t-a[m]>=0) { t=t-a[m]+d; m=(++m)%12; d=0; } else if(t-a[m]<0) { d=d+t; printf("%d-%02d-%02d\n",y,m+1,d-1==0?a[m]:d-1); t=0; } if(m%12==0) y++; if(t==0&&d==0) { printf("%d-%02d-%02d\n",y,(m+12-1)%12+1,a[(m+12-1)%12+1]-1); break; } } return 0; }