蓝桥杯-----世纪末的星期 - crazy_jack - 博客频道 - CSDN.NET
曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!
于是,"谣言制造商"又修改为星期日......
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!
于是,"谣言制造商"又修改为星期日......
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
分析:
该题就是计算"xx99"年距离2000.1.1有几天。例如:2000.1.1距离1999.12.31有一天,则2000.1.1是星期(1+5)%7 = 6,是星期六。则只需计算出xx99.12.31距离2000.1.1的天数,再加上5余7,然后判断余数是否是0就OK了!
public static void main(String[] args) { int year = 2000; int total = 0; for( ; ; year++) { if(year%400==0 || (year%4==0 && year%100!=0)) { total += 366; } else { total += 365; } if((total+5)%7 == 0 && (year+"").endsWith("99")) { System.out.println(year); break; } } }Read full article from 蓝桥杯-----世纪末的星期 - crazy_jack - 博客频道 - CSDN.NET