国庆星期日 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。

/*	国庆星期日
1949年的国庆节(10月1日)是星期六。 
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
只要答案,不限手段!
可以用windows日历,windows计算器,Excel公式,。。。。。
当然,也可以编程!
不要求写出具体是哪些年,只要一个数目!
千万不要提交源代码!
答案不要写在这里,写在“解答.txt”中
 */
public class T17 {
	public static int calc(int n,int m,int d){
		int[][] days = {{0,31,28,31,30,31,30,31,31,30,31,30,31},	// 平年
					   {0,31,29,31,30,31,30,31,31,30,31,30,31}};// 闰年
		int b = 0;	// 默认为平年
		if(n%4==0&&n%100!=0||n%400==0) b = 1;	// 是闰年
		int sum = d;
		for(int i=0;i<m;i++){
			sum += days[b][i];
		}
		return sum;
	}
	public static void main(String[] args){
		int count = 0;
		// 1949年的国庆节(10月2日)是星期日。 
		// 得到这年10月2号后的的剩余天数
		int total = calc(1949,12,31)-calc(1949,10,2);
		for(int i=1950;i<2012;i++){
			// calc(i)计算每年的10月1日是这一年的第天数,再用总天数对7取余==0说明是周日
			total += calc(i,10,1);	// 计算当年到10月1的总天数
			if(total%7==0){	
				System.out.println(i+"年10月1日");
				count++;	// 次数加1
			}
		}
		System.out.println("总数:"+count);
	}
}
运行结果:
1950年10月1日
1961年10月1日
1967年10月1日
1972年10月1日
1978年10月1日
1989年10月1日
1995年10月1日
2000年10月1日
2006年10月1日
总数:9

你可能感兴趣的:(国庆星期日 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。)