2012蓝桥杯决赛第一题
2016-05-23 21:02
225 查看
【结果填空】 (满分5分)
1949年的国庆节(10月1日)是星期六。
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
只要答案,不限手段!
可以用windows日历,windows计算器,Excel公式,。。。。。
当然,也可以编程!
不要求写出具体是哪些年,只要一个数目!
千万不要提交源代码!
答案不要写在这里,写在“解答.txt”中
这题:
/* 国庆星期日
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[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);
}
}
[b][plain] view
plain copy
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)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
只要答案,不限手段!
可以用windows日历,windows计算器,Excel公式,。。。。。
当然,也可以编程!
不要求写出具体是哪些年,只要一个数目!
千万不要提交源代码!
答案不要写在这里,写在“解答.txt”中
这题:
/* 国庆星期日
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[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);
}
}
[b][plain] view
plain copy
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
相关文章推荐
- 数据结构之排序算法的稳定性
- 团队第二次冲刺第一天
- 编译时出现的错误和解决办法
- ccache——/root/.ccache
- 一次解决OOM的经历
- 记一次事件委托在 ios 下的兼容 bug
- 数组去重
- 设计模式 - Template模式
- 城市交通_ssl1636_floyd
- android中使用flexboxlayout
- 排列组合公式 扳子
- hdoj2042不容易系列之二
- 标准文件与及其相关联的文件指针(等各项参数)
- 最长上升子序列优化算法 【算法作业】
- bzoj 3243: [Noi2013]向量内积 矩阵乘法
- 解决Gridview列表view高度无法固定的方法
- 高并发金融应用架构优化与平台创新
- Java排序再巩固--BubbleSort
- C++中map的使用
- ASPNET MVC框架中的设计模式之模板方法模式