当前位置: 首页 > news >正文

蓝桥杯算法训练 黑色星期五

题目描述

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

输入

输入只有一行,即某个特定的年份(大于或等于1998年)。

输出

输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。

样例输入 复制

1998

样例输出 复制

3

代码:

C语言版:

#include<stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int main() {int y,i,num=0;int temp,days = 0;scanf("%d",&y);for (i=1998;i<y;i++) {if ((i%4==0 && i%100!=0) || (i%100==0 && i%400==0))temp = 366; elsetemp = 365;days+=temp;days%=7;}for (i=1;i<=12;i++) {days+=12;if (days%7==1)num++;days = (days-12+month[i-1])%7;if (i==2 && ((y%4==0 && y%100!=0) || (y%100==0 && y%400==0)))days++;}printf("%d",num);return 0;
}

C++版:

#include<bits/stdc++.h>
using namespace std;
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int main() {int y,i,num=0;int temp,days = 0;cin>>y;for (i=1998;i<y;i++) {if ((i%4==0 && i%100!=0) || (i%100==0 && i%400==0))temp = 366; elsetemp = 365;days+=temp;days%=7;}for (i=1;i<=12;i++) {days+=12;if (days%7==1)num++;days = (days-12+month[i-1])%7;if (i==2 && ((y%4==0 && y%100!=0) || (y%100==0 && y%400==0)))days++;}cout<<num;return 0;
}

谢谢您的观看 

 

 

 


http://www.mrgr.cn/news/80659.html

相关文章:

  • Windows安装Docker
  • 网络时延由哪几部分构成,哪部分可以为0
  • RabbitMQ如何构建集群?
  • 加速科技精彩亮相ICCAD 2024
  • winlogon!InitializeGlobals函数中的g_IsTerminalServer
  • QT<32>软件子页面最小化后再次点击置顶显示
  • 人工智能在VR展览中扮演什么角色?
  • ios 混合开发应用白屏问题
  • configure错误:“C compiler cannot create executables“
  • java error(2)保存时间带时分秒,回显时分秒变成00:00:00
  • 高并发 - 2.线程池
  • 大模型系列4--开源大模型本地部署到微调(WIP)
  • ubuntu系统版本安装docker容器
  • Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
  • windows11 24H2 CSOL 闪退问题解决办法
  • Java通过反射破坏单例模式
  • Compose IO
  • Linux介绍与安装CentOS 7操作系统
  • JS实现简单的前端分页功能
  • Avalonia 开发环境准备
  • asp.net core发布配置端口号,支持linux
  • 使用qemu搭建armv7嵌入式开发环境
  • matlab绘图时设置左、右坐标轴为不同颜色
  • JVM性能优化一:初识内存泄露-内存溢出-垃圾回收
  • Linux Shell 脚本编程基础知识篇
  • 【蓝桥杯】46195.水仙花数