在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
答案:
代码:
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int m[2][12] = {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 y[2] = {365,366}; int isleap(int k) { return k % 100 != 0 && k % 4 == 0 || k % 400 == 0 ? 1 : 0; } int main() { int d = 1009; for(int i = 0;i < 10;i ++) { d += m[0][i]; } int yy = 2014,mm = 1; while(d > y[isleap(yy)]) { d -= y[isleap(yy ++)]; } while(d > m[isleap(yy)][mm]) { d -= m[isleap(yy)][mm ++]; } printf("%04d-%02d-%02d",yy,mm,d); }
原文:https://www.cnblogs.com/8023spz/p/10534341.html