• USACO 1.1.3 Friday The Thirteenth


    //译题
    //★Friday the Thirteenth 黑色星期五
    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,19002100 年是平年,而2000 年是闰年.
    请不要预先算好数据!
    PROGRAM NAME: friday
    INPUT FORMAT
    一个整数n.
    SAMPLE INPUT (file friday.in)
    20
    OUTPUT FORMAT
    七个在一行且相分开的整数,它们代表13 日是星期六,星期日,星期一.....星期五的次数.
    SAMPLE OUTPUT (file friday.out)
    36 33 34 33 35 35 34
    /*
    ID: china_l
    LANG: C
    TASK: friday
    */
    #include<stdio.h>
    int main()
    {
        int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
        int day[7]={0};                         
        int i,j,n,t=1900,m=6;            
        freopen("friday.in","r",stdin);
        freopen("friday.out","w",stdout);
        
        scanf("%d",&n);
        t+=n;
        for(i=1900;i<t;i++)
        {
            if(i%400 == 0 ||(i%100!=0 && i%4 == 0))    //判断是否是闰年 
                mon[1]=29;                            //是,2月为29天 
            else mon[1]=28;                            //不是,2月为28天 
            
            for(j=0;j<12;j++)                        //然后计算每个月的13号是星期几 
            {                                        //因为1900.1.1是星期一,1900.1.13是星期六,最开始m=6代表的就是1.13号是星期六 
                day[m]++;                            //在数组中对应的星期+1(day[0-6],分别对应星期日,星期一到星期六) 
                m+=mon[j];                            //加上本月的天数,得到下个月13号的天数 
                m%=7;                                //%7,得到下个月的13号对应的是星期几 
            }                                        //因为7%7=0;所以星期天的总天数存放在day[0]中
        }
        printf("%d",day[6]);                    //按照题目意思,先打印星期六 
        for(i=0;i<6;i++)                        //然后打印星期天,星期一到星期五 
            printf(" %d",day[i]);
        printf("
    ");
        return 0;
    }
  • 相关阅读:
    easyui-datagrid 编辑模式下保存数据,光标所在单元格无法保存。
    esayui datebox 系统日期之后禁止选择
    使用easy-TreeGrid完成角色权限设置;使用checkbox
    jquery easyui easyui-combobox 与easyui-textbox 取值赋值操作
    原生js table中点击操作按钮,获取相应行某列需要的值作为参数请求跳转
    excel 导出 兼容到ie (JavaScript)
    vue 路由导航重复跳转报错解决记录
    变量提升
    定时器轮播,轮播一次加载一张图;
    es7 es8 新加的特性。
  • 原文地址:https://www.cnblogs.com/Lee-geeker/p/3222448.html
Copyright © 2020-2023  润新知