蓝桥杯:跑步锻炼

题目

题目描述

小蓝每天都锻炼身体。

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

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

思路

思路是遍历每天,注意看是不是闰年以及星期的遍历

代码

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
    int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    int y,m,d;
    int ans = 6;//表示星期
    int cnt = 0;
    for(y = 2000;y <= 2020;y++){
        if(y%4 == 0&&y%100 != 0||y%400 == 0)
            months[2] = 29;
        else
            months[2] = 28;
        for(m = 1;m <= 12;m++){
            for(d = 1;d <= months[m];d++){
                cnt++;
                if(ans == 8) 
                    ans = 1;
                if(ans == 1||d == 1)
                    cnt++;
                ans++;
                if(y == 2020&&m == 10&&d == 1)
                    cout<<cnt;
            }
        }
    }
    return 0;
}

总结

  • 注意闰年以及星期遍历
相关推荐
程序员老舅4 小时前
啃透 I2C 驱动开发,才算入门嵌入式 Linux 内核驱动
数据结构·驱动开发·b树·内核·嵌入式·嵌入式开发·i2c
lueluelue474 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水1687 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子8 小时前
Adaboost算法原理与计算实例
算法
Tri_Function8 小时前
动态规划DP1(c++)
c++
别怪我很水8 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
清水迎朝阳10 小时前
客户端软件 — 用户统计方案
服务器·c++·客户端·用户统计
Re.不晚11 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展
蓝悦无人机11 小时前
《Planning algorithms》读书笔记——第1章 引言
算法·读书笔记·规划算法·lavalle