首页 > 编程语言 >【编程基础】黑色星期五(friday)

【编程基础】黑色星期五(friday)

时间:2024-09-02 18:22:16浏览次数:11  
标签:13 编程 星期一 闰年 friday 平年 星期五 1900

题目描述

13号又是星期五是一个不寻常的日子吗?13号在星期五比在其他日少吗?为了回答这个问题,写一个程序来计算在n年里13日落在星期一,星期二......星期日的次数.这个测试从1900年1月1日到1900+n-1年12月31日.n是一个非负数且不大于400.这里有一些你要知道的:

  • 1900年1月1日是星期一。
  • 4,6,11和9月有30天.其他月份除了2月有31天.闰年2月有29天,平年2月有28天。
  • 年份可以被4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年)
  • 以上规则不适合于世纪年.可以被400整除的世纪年为闰年,否则为平年.所以,1700,1800,1900和2100年是平年,而2000年是闰年.

请不要预先算好数据!

输入
输入一个整数n(0<n<=400)
输出
七个在一行且相分开的整数,它们代表13日是星期六,星期日,星期一.....星期五的次数.
样例输入 复制
20
样例输出 复制
36 33 34 33 35 35 34
提示

按照题意模拟。

【来源】

USACO 1.1.3

AC代码:

#include<stdio.h>
int main(){    
    int n,i,a[8]={0},p=1,d,j,k;
	scanf("%d",&n);
	for(i=1900;i<=1900+n-1;i++){
		for(j=1;j<=12;j++){
			if(j==2){
				if((i%4==0&&i%100!=0)||i%400==0){
					for(k=1;k<=29;k++){
						if(p%8==0) p=1;	
						if(k==13) a[p]++;
						p++;
					}
				}else{
                  	for(k=1;k<=28;k++){
						if(p%8==0) p=1;	
						if(k==13) a[p]++;
						p++;
					}
				}
			}else if(j==4||j==6||j==9||j==11){
				for(k=1;k<=30;k++){
					if(p%8==0) p=1;	
					if(k==13) a[p]++;
					p++;
				}
			}else{			
				for(k=1;k<=31;k++){
					if(p%8==0) p=1;	
					if(k==13) a[p]++;
					p++;
				}
			}
		}
	}
	printf("%d %d",a[6],a[7]);
	for(i=1;i<=5;i++)
		printf(" %d",a[i]);
	return 0;
}

 

标签:13,编程,星期一,闰年,friday,平年,星期五,1900
From: https://blog.csdn.net/2401_86356836/article/details/141826555

相关文章

  • JS的DOM高级编程和动态添加表格行的小案例实现
    DOM高级编程(DocumentobjectModal)DOM概述DOM-DocumentObjectModal,它是W3C国际组织的一套Web标准DOM是一种与浏览器、平台、语言无关的接口Dom认为:html文档中每个成员都是一个节点,根据节点的不同,可分为:文档节点(document)元素节点(element)属性节点(attribute)文本节点(tex......
  • 2.Linux编程-库
    命名(习惯):静态库:.lib/.a动态库.dll/.so静态库的命名一般分为三个部分:前缀:lib库名称:自定义即可,如test后缀:.a共享库的命名一般分为三个部分:前缀:lib库名称:自己定义即可,如test后缀:.so库制作完成后,如何给用户使用头文件—包含了库函数的声明库文件—包含了库函数的代......
  • springboot 编程事务的封装
    一、创建事务管理工具类java复制importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Component;importorg.springframework.transaction.PlatformTransactionManager;importorg.springframework.transaction.Transact......
  • 【话题讨论】VS Code:倍增编程动力,实现效率飞跃
      目录引言一、详情介绍功能特点使用场景提高工作效率二、效率对比2.1高度可定制性与丰富的插件生态2.2智能的代码补全与导航2.3 内置的调试器与版本控制集成2.4 轻量级与跨平台2.5选择合适工具的重要性2.6实际案例或数据展示三、未来趋势3.1编程工具......
  • pymc和贝叶斯模型编程(2)
    pymc中的变分推断pymc和贝叶斯模型编程(2)。简介和安装简介PyMC是一个Python概率编程库,允许用户使用简单的PythonAPI构建贝叶斯模型,并使用马尔可夫链蒙特卡罗(MCMC)方法对其进行拟合。PyMC致力于使贝叶斯建模尽可能简单、轻松,让用户能够专注于他们的问题而不是方......
  • pymc和贝叶斯模型编程(1)
    pymc和贝叶斯模型编程(1)简介和安装简介PyMC是一个Python概率编程库,允许用户使用简单的PythonAPI构建贝叶斯模型,并使用马尔可夫链蒙特卡罗(MCMC)方法对其进行拟合。PyMC致力于使贝叶斯建模尽可能简单、轻松,让用户能够专注于他们的问题而不是方法。具有如下特性:......
  • 互联网编程:实验三 域名IP转换及应用URL类定位和获取数据编程
    1.编程解析域名:编写一个可重用的域名解析程序模块,使之能够将用户输入的域名解析为IP地址,能将用户输入的IP地址,反向解析为对应的主机名或域名。思路:通过命令行参数args[0]获取用户输入的域名或IP地址。使用InetAddress.getByName(args[0])用于获取相应的InetAddress 对象。......
  • 【编程规范具体案例(基于Qt、微软、谷歌和AUTOSAR C++14 参考)】 C++ 编码规范 之程序设
    目录标题基本元素3.1类和结构体3.1.1\[必须]使用恰当的访问修饰符来管理类成员的可见性3.1.2\[必须]在类中合理使用默认的特殊成员函数3.1.3\[必须]提供清晰且尽可能一致的类接口3.1.4\[建议]优先使用初始化列表来初始化类成员3.1.5\[建议]使用抽......
  • 【愚公系列】《AIGC辅助软件开发》002-AI智能化编程助手:GitHub Copilot
    ......
  • Java异步编程:CompletableFuture与Future的对比
    Java异步编程:CompletableFuture与Future的对比大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java中,异步编程是一种常见的编程范式,用于提高应用程序的响应性和吞吐量。Java提供了多种异步编程工具,其中Future和CompletableFuture是两个重要的接口。......