曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!
于是,“谣言制造商”又修改为星期日......
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
答案:2299
2000.1.1是星期六,可以构造(1+5)%7=6,因此验证是否是星期日需要天数加5 再对7取余,若结果是0,则是星期日
package holiday;
import java.util.Scanner;
import java.util.Vector;
public class Test {
public static int day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
public static void main(String args[])
{
int sum_day=0;
int ans;
for(int year=2000;;year++)
{
if(run(year))
sum_day+=366;
else
sum_day+=365;
if((sum_day+5)%7==0&&(year-99)%100==0)
{
ans=year;
break;
}
}
System.out.println(ans);
}
public static boolean run(int year)
{
if(year%4==0&&year%100==0||year%400==0)
{
day[2]=29;
return true;
}
else
return false;
}
}