c++关于模拟题你了解多少

本文通过分析两道C++模拟题,探讨如何解决这类问题。第一题涉及判断闰年和计算特定日期的星期,第二题则要求找出特定日期为周五的月份。文章详细阐述了解题思路和AC代码,适合初学者学习和巩固。
摘要由CSDN通过智能技术生成

1.模拟题一般是一类头疼的问题,有时候一些错误更是让我们红橙作伴,潇潇洒洒的交一发wa一发
2.有些模拟题很简单,看一下按照题目的意思模拟一遍就可以了,只需要注意一些细节就好,还有些模拟题虽然看起来简单但却无从下手


下面这个几个模拟题对于蒟蒻的我来说是很好的学习例题
不为什么就想记录一下自己学习的过程,把自己如何思考,如何学习,如何解决一一说清楚,希望你们也能从中受益~

wjw的星期五

题目描述
wjw最近运气极其差,什么roll点1-100连着十次都是个位数啊,买个珍珠奶茶没有珍珠啊,吃方便面没有调料包啊…
迷信的wjw觉得,一定是因为这个月的13号正好是星期五,才会导致他的运气这么差。
现在他想知道,在某个年份中,有多少个月的13号是星期五,这样他才可以提前做好心理准备。
PS.已知1998年1月1日是星期四,输入的年份肯定大于或等于1998年。

输入
input
输入只有一行,表示年份(大于等于1998年)

输出
output
输出只有一行,表示这一年中有多少个月的13号是星期五

样例输入
1998
样例输出
3
提示
说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;

PS:
这种题目第二次遇见,遇见的时候我想起了第一次那种手无足措的感觉,虽然事后看了大佬的题解,但却用了很长时间来消化,所以我觉得有必要来记录自己学习的过程,虽然艰辛,但是得到AC的那一刻,内心是喜悦的,谁不是一直在追求AC的路上呢?
分析题目
题目是想找出一年中有多少个月份的13号是星期五,很显然这是一道模拟题

  1. 首先我们要定义两个数组,分别储存平年以及闰年1–12月份的天数
  2. 其次需要用一个函数判断是否是闰年,这样会方便许多
  3. 题目已知最初条件“已知1998年1月1日是星期四”,小小的推理一遍,我们就知道1998年1月9号是星期五(别问我是怎么知道的,就是知道 强势)这样我们只需找到每月13号减去最初的1月9号是所剩下的否是7的倍数,如果是,就让ans++,这样题目就清晰了许多。

AC代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 1e6 + 5;
int a[13] = {
   0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int b[13] = {
   0, 31, 29, 31, 30, 31, 30, 31,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值