蓝桥杯:跑步锻炼

题目

题目描述

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 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;
}

总结

  • 注意闰年以及星期遍历
相关推荐
学linux的QQ蛋8 分钟前
Linux 文件 IO:系统调用 open/read/write 完整总结
linux·运维·算法
rannn_11114 分钟前
【力扣hot100】回溯专题|全排列、子集、字母组合、组合总和、括号生成、单词搜索、分割回文串、N皇后
java·算法·leetcode·回溯
旖旎夜光27 分钟前
LCR 173:在点名(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
重生之后端学习29 分钟前
438. 找到字符串中所有字母异位词[中等]✅
开发语言·数据结构·算法·leetcode·职场和发展
渡之31 分钟前
ArduPilot LowPassFilter 深度解析
算法·无人机
Lazionr2 小时前
模板进阶:深入理解模板机制
c++·windows
ting94520008 小时前
Humalike X Hermes 深度技术剖析:单指令注入群聊社交智能的底层架构、算法与跨 IM 平台实现
人工智能·算法·架构
豆沙沙包?9 小时前
C++~~~stack容器、queue容器、list容器(p45-P56)
c++·windows·list
吴声子夜歌9 小时前
Java面试——算法
java·算法·面试
Frank_refuel9 小时前
【C++八股】面向对象
开发语言·c++