欧拉工程第19题 20世纪有多少个星期日是当月的第一天

题目

以下是一些已知信息,但是或许你需要自己做一些其他的调查。

1900年1月1日是星期一。
30天的月份有:9月,4月,6月,11月。
此外的月份都是31天,当然2月除外。
2月在闰年有29天,其他时候有28天。
年份可以被4整除的时候是闰年,但是不能被400整除的世纪年(100的整数倍年)除外。
20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一天?

解题方法

可以调用编程工具的日历类,计算每个月的第一天是不是周日,是的话就在计数器上加1。
不懂这个类的使用方法的可以点击查看中文API

程序

public static void solve() {
    GregorianCalendar calendar = 
        new GregorianCalendar(1901, Calendar.JANUARY, 1);
    int count = 0, year = 0;
    do {
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        if (dayOfWeek == Calendar.SUNDAY) {
            count++;
        }
        year = calendar.get(Calendar.YEAR);
        calendar.add(Calendar.MONTH, 1);
    } while (year < 2001);

    System.out.println(count);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值