zoukankan      html  css  js  c++  java
  • 2018年第九届省赛C/C++A组第2题——星期一

    标题:星期一

    整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?

    (不要告诉我你不知道今天是星期几)

    注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字。

    代码

    #include <iostream>
    using namespace std;
    bool isyear(int year)
    {
    	if((year%4==0&&year%100!=0)||year%400==0) return true;
    	else return false;
    }
    int main()
    {
    	int num=0,ans=0,year=1901,month=1,day=1;
    	while(1)
    	{
    		day++;num++;
    		if(day==32&&(month==1||month==3||month==5||month==7||month==8||month==10))
    		{
    			day=1;
    			month++;
    		}
    		if(day==31&&(month==4||month==6||month==9||month==11))
    		{
    			day=1;
    			month++;
    		}
    		if(day==32&&month==12)
    		{
    			year++;
    			day=1;
    			month=1;
    		}
    		if(month==2&&isyear(year)&&day==30)
    		{
    			day=1;
    			month++;
    		}
    		if(month==2&&day==29)
    		{
    			if(!isyear(year))
    			{
    				day=1;
    				month++;
    			}
    		}
    		if(year==2000&&month==12&&day==25) break;
    	}
    //2000-12-31是星期日,2000-12-25是星期一
        while(num>0)
        {
        	cout<<num<<' '<<ans<<endl;
        	ans++;
        	num-=7;
    	}
    	return 0;
    }
    
  • 相关阅读:
    mysql分表那些事
    java根据经纬度计算距离
    java Calendar类的使用
    mysql中DATETIME、DATE和TIMESTAMP的区别
    java设计模式
    dubbo教程
    Java算法
    随机产生字符串
    js根据类名获取元素的底层原理
    元素样式的获取
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338541.html
Copyright © 2011-2022 走看看