问题标题: 酷町堂:2862 非周日天数 90分?为什么?

0
0
已解决
高梓荣
高梓荣
新手天翼
新手天翼
2862   非周日天数

题目描述 Description
李明每个周末都会在周日去奶奶家里玩,这引发了他对周日的天数研究的兴趣。现在他想计算一下,从1900年1月1日开始,到X年Y月Z日结束,不是周日的天数一共有多少天。

输入描述 Input Description
一行,三个以空格隔开的整数,X Y Z

输出描述 Output Description
从1900年1月1日开始到X年Y月Z日不是周日的天数的个数

样例输入 Sample Input
1900 1 7

样例输出 Sample Output
6

数据范围及提示 Data Size & Hint
1900年1月1日是星期一
1900≤X

看我的丰功伟绩:

90分代码:

#include<bits/stdc++.h>
using namespace std;
bool RN(int n)
{
    if(n%4==0&&n%100!=0||n%400==0)
        return true;
    return false;
}
int main()
{
    int x,y,z,day=0;
    cin>>x>>y>>z;
    for(int i=1900;i<x;i++)
        day+=(RN(i))?366:365;
    for(int i=1;i<y;i++)
    {
        if(i==2)day+=(RN(i))?29:28;
        else if(i==4||i==6||i==9||i==11)day+=30;
        else day+=31;
    }
    day+=z;
    day=day-day/7;
    cout<<day;
    return 0;
}

求大L找错!急!


0
已采纳
鲁天一
鲁天一
初级光能
初级光能

老兄,问题出在第17行

if(i==2)day+=(RN(i))?29:28;

这里判断闰年怎么是用i呢?

i是判断月份的。

应该是RN(x)//这是最后一年,是x

望采纳

我这样改就是AC

我要回答