zoukankan      html  css  js  c++  java
  • 黑色星期五

    题意

    给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数


    分析

    先算出当前月份的天数,再看有没有到13号,有的话就加次数。


    var
    x,m,y,d,i,n,j:longint;
    a:array[1..7]of longint;


    procedure c(var m:longint);
    begin
        d:=1;
        inc(m);
    end;


    begin
        readln(n);
        y:=1900;
        m:=1;d:=1;x:=1;i:=0;
        fillchar(a,sizeof(a),0);
        while i<n do
        begin
            inc(x);
            if x=8 then x:=1;
            case m of
            1,3,5,7,8,10,12:if d=31 then c(m) else inc(d);
            4,6,9,11:if d=30 then c(m) else inc(d);
            2:if (y mod 4=0)and(y mod 100<>0)or(y mod 400=0) then
              if d=29 then c(m) else inc(d) else
              if d=28 then c(m) else inc(d);
            end;
            if m=13 then
            begin
                m:=1;
                inc(y);
                inc(i);
            end;
            if d=13 then inc(a[x]);
        end;
        write(a[6],' ',a[7],' ');
        for i:=1 to 5 do
        write(a[i],' ');
    end.

  • 相关阅读:
    下载视频
    009 逻辑 + MFC CString
    008 浅拷贝与深拷贝
    007 operator
    006 this指针原理
    005 逻辑 + STL list
    004 list::sort
    003 逻辑 + mfc CList
    001 C++历史和思想
    并查集模板
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500196.html
Copyright © 2011-2022 走看看