游客 Signup | Login
中文 | En

1505 - 今年的第几天?

输入年、月、日,计算该天是本年的第几天。

Input

包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。

Output

输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。

Examples

Input

2012 12 21
2013 1 5

Output

356
5

Solution C

#include<stdio.h>

int main()
{
        int Y,M,D,m[13][2]={0,0,
                            31,31,
                            28,29,
                            31,31,
                            30,30,
                            31,31,
                            30,30,
                            31,31,
                            31,31,
                            30,30,
                            31,31,
                            30,30,
                            31,31};
        int i,k,d;
        while(scanf("%d%d%d",&Y,&M,&D)!=EOF)
        {
                k=0;
                if((Y%4==0&&Y%100!=0)||(Y%400==0))
                        k=1;
                for(d=0,i=1;i<M;i++)
                        d+=m[i][k];
                d+=D;
                printf("%d\n",d);
        }
        return 0;
}

Solution C++

#include<stdio.h>

int main()
{
	int Y,M,D,m[13][2]={0,0,
						31,31,
						28,29,
						31,31,
						30,30,
						31,31,
						30,30,
						31,31,
						31,31,
						30,30,
						31,31,
						30,30,
						31,31};
	int i,k,d;
	while(scanf("%d%d%d",&Y,&M,&D)!=EOF)
	{
		k=0;
		if((Y%4==0&&Y%100!=0)||(Y%400==0))
			k=1;
		for(d=0,i=1;i<M;i++)
			d+=m[i][k];
		d+=D;
		printf("%d\n",d);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题