zoukankan      html  css  js  c++  java
  • C语言 · 黑色星期五

    算法训练 黑色星期五  
    时间限制:1.0s   内存限制:512.0MB
        

    问题描述
      有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形,以帮助你的迷信朋友解决难题。
      说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;(2)已知1998年1月1日是星期四,用户输入的年份肯定大于或等于1998年。
      输入格式:输入只有一行,即某个特定的年份(大于或等于1998年)。
      输出格式:输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。
    输入输出样例
    样例输入
    1998
    样例输出
    3
     
     1 #include <stdio.h>     
     2 int AllWeek(int year){  
     3     //已知1998年1月1日是星期四  
     4     int i=1998,week=3;  
     5     int days=0;  
     6     for(i=1998;i<year;i++)  
     7     {  
     8         if(i%400==0||(i%4==0&&i%100!=0))  
     9             days+=366;  
    10         else  
    11             days+=365;  
    12     }      
    13     return (days+week)%7;  
    14 }  
    15 void ShowFd(int year){  
    16     int day[2][12]={{31,28,31,30,31,30,31,31,30,31,30},{31,29,31,30,31,30,31,31,30,31,30}};  
    17     int week=AllWeek(year);
    18     int flag=year%400==0 || (year%4==0&&year%100!=0) ? 1:0;  
    19     int times=0,i,days=0;  
    20       
    21     //遍历12个月   
    22     for(i=0;i<12;i++){ 
    23         //判断每个月13号是否是黑色星期五   
    24         if((days+12+week)%7==4)
    25             times++;
    26         days+=day[flag][i]; 
    27     }
    28     printf("%d",times);
    29 }   
    30   
    31 int main(){  
    32     int year;  
    33     scanf("%d",&year);  
    34     ShowFd(year);  
    35     return 0;  
    36 }
  • 相关阅读:
    你知道require是什么吗?
    jQuery类库的设计
    多线程下载图片
    多线程与CPU和多线程与GIL
    一个python小爬虫
    一个方格表的问题
    使用django发布带图片的网页(上)
    uWSGI+Django+nginx(下)
    uWSGI+Django (中)
    Linux下安装Python3的django并配置mysql作为django默认数据库(转载)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6483801.html
Copyright © 2011-2022 走看看