蓝桥杯每日一题(跑步锻炼)

这段代码计算了从2000年11月11日到2020年10月11日期间,小蓝每周跑步的距离。小蓝在周一或月初会跑22公里,其他日子跑11公里。最终总距离在代码中被输出。

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?

代码解析如下:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        int year = 2000;//年份
        int mon = 1;//月份
        int day = 1;//号
        int weekend = 6;//星期六
        int km = 0;//公里数
        int[] month = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//每个月对应多少天
        while (true) {
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {//判断是否闰年
                month[2] = 29;
            } else {
                month[2] = 28;
            }
            if (day == 1 || weekend == 1) {//月初或者周一
                km += 2;
            } else {
                km += 1;
            }
            day++;
            weekend++;
            if (day > month[mon]) {
                day = 1;
                mon++;
                if (mon > 12) {
                    mon = 1;
                    year++;
                }
            }
            if (weekend > 7) {
                weekend %= 7;
            }
            if (year == 2020 && mon == 10 && day == 1) {
                km+=2;
                break;
            }
        }
        System.out.println(km);
    }
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值