蓝桥杯试题(java)——锻炼身体(跑神小蓝)

这篇博客介绍了如何通过编程计算一个人从2000年1月1日至2020年10月1日期间,按特定规则(周一周一或月初跑2千米,其他日子跑1千米)的总跑步距离。博主提供了详细的代码实现,包括闰年的判断和双重循环来遍历每一天,最终得出小蓝在这段时间内跑了8879千米。
摘要由CSDN通过智能技术生成

【题目描述】:
小蓝每天都锻炼身体。

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

小蓝跑步已经坚持了很长时间,从 2000年 1 月 1 日周六(含)到 2020 年 10 月 1日周四(含)。请问这段时间小蓝总共跑步多少千米?
【问题分析】:

  1. 判断闰年平年
  2. 将2020年特别取出(未满一年另算)
  3. 双重for循环以取出每年中的每日
  4. 判断满足周一或月初来进行计算
  5. 将最后一天加上

【代码实现】:

public static void main(String[] args) {
     Scanner scan = new Scanner(System.in);
     //在此输入您的代码...
     scan.close();
     int mouth0[] = {0,31,29,31,30,31,30,31,31,30,31,30,31}; 
     int mouth1[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; 
     int sum = 0;
     int week = 6;
     for(int a=2000;a <= 2020;a++){
    	  if(a == 2020){
             for(int i=1;i <= 9;i++){
                for(int j=1;j <= mouth0[i];j++){
                  if(week == 1 || j == 1){
                    sum += 2;
                  }else{
                    sum++;
                  }
                  week = (week+1)%7;
                }
              }
           }else if((a%4 == 0 && a%100 != 0) || a%400 == 0){
	         for(int i=1;i <= 12;i++){
	           for(int j=1;j <= mouth0[i];j++){
	             if(week == 1 || j == 1){
	               sum += 2;
	             }else{
	               sum++;
	             }
	             week = (week+1)%7;
	           }
	         }
	      }else{
	        for(int i=1;i <= 12;i++){
	           for(int j=1;j <= mouth1[i];j++){
	             if(week == 1 || j == 1){
	               sum += 2;
	             }else{
	               sum++;
	             }
	             week = (week+1)%7;
	           }
	         }
	       }
	     }
     System.out.println(sum+2);//结果:8879
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忻泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值