[蓝桥杯]黑色星期五(年份处理模板)

编程入门 行业动态 更新时间:2024-10-19 05:31:04

[蓝桥杯]黑色星期五(<a href=https://www.elefans.com/category/jswz/34/1766180.html style=年份处理模板)"/>

[蓝桥杯]黑色星期五(年份处理模板)

题目描述
有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形,以帮助你的迷信朋友解决难题。
说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;(2)已知1998年1月1日是星期四,用户输入的年份肯定大于或等于1998年。
输入
输入只有一行,即某个特定的年份(大于或等于1998年)。
输出
输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。
样例输入
1998
样例输出
3

#include<bits/stdc++.h>
using namespace std;
int M[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){int y = 1998, m = 1, d = 1, w = 4, ans = 0;int n;cin>>n;	 while(y!=n || m!=1 || d!=1){  //先算出这个年份1月1号星期几 if(y%400==0 || (y%4==0&&y%100!=0)){M[2] = 29;}else{M[2] = 28; //这个必须加,因为M为全局变量 }d++;w = (w + 1) % 7;//w为0为星期天if(d > M[m]){d = 1;m ++; } if(m>12){m = 1;y ++;} }while(y!=n+1 || m!=1 || d!=1){  //到明年 if(y%400==0 || (y%4==0&&y%100!=0)){M[2] = 29;}else{M[2] = 28; //这个必须加,因为M为全局变量 }d++;w = (w + 1) % 7;//w为0为星期天if(d > M[m]){d = 1;m ++; } if(m>12){m = 1;y ++;} if(w==5&&d==13){ //13号又是星期五ans++;} }cout << ans << endl;return 0;
} 

更多推荐

[蓝桥杯]黑色星期五(年份处理模板)

本文发布于:2024-03-23 23:50:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744301.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:年份   模板   蓝桥杯

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!