NYOJ 219

简介:   An problem about date 时间限制:2000 ms | 内存限制:65535 KB 难度:2   描述 acm的iphxer经常忘记某天是星期几,但是他记那天的具体日期,他希望你能写个程序帮帮他。

 

An problem about date

时间限制: 2000 ms | 内存限制: 65535 KB
难度: 2
 
描述

acm的iphxer经常忘记某天是星期几,但是他记那天的具体日期,他希望你能写个程序帮帮他。

 

 
输入
每行有三个整数 year,month,day,日期在1600年1月1日到9600年1月1日之间;
输出
输出对应的星期,用一个整数表示;(星期一到星期六用1-6表示,星期日用0表示)
样例输入
2011 3 6
1949 10 1
2011 4 1
1945 8 15
样例输出
0
6
5
3
/*有人说蔡勒公式也可以,没试过*/
#include<stdio.h> #include<string.h> /*二月先按28天*/ int yue[13]={0,0,31,59,90,120,151,181,212,243,273,304,334}; /*不可开为8000,必须大于9602,否则因为非法内存而停止*/ int a[9603]; int is_leap(int year) { return year%400==0||year%4==0&&year%100; } int main() { int year,month,day,sum,i; memset(a,0,sizeof(a)); for(i=1600;i<9602;++i) if(is_leap(i)) a[i]=366+a[i-1]; else a[i]=365+a[i-1]; while(scanf("%d%d%d",&year,&month,&day)!=EOF) { sum=0; /*sum+=a[year-1],第year年之前 */ sum+=a[year-1];sum+=yue[month];sum+=day; if(is_leap(year)&&month>2) sum+=1; /*第一天星期6*/ printf("%d\n",(sum+5)%7); } return 0; }

 

目录
相关文章
|
7月前
|
算法
NYOJ-448-寻找最大数
NYOJ-448-寻找最大数
31 0
|
测试技术
NYOJ 523
  亡命逃窜 时间限制:1000 ms | 内存限制:65535 KB 难度:4   描述   从前有个叫hck的骑士,为了救我们美丽的公主,潜入魔王的老巢,够英雄吧。不过英雄不是这么好当的。
916 0
NYOJ 93
  汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。
601 0
NYOJ 86
  找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏。游戏规则为:在一堆球中,每个球上都有一个整数编号i(0
811 0
NYOJ 113
1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int pos=-1; 8 string s; 9 while(getline(cin,s)) 10 { 11 while((pos=s.
682 0
NYOJ 212
  K尾相等数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N均大于等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。
624 0
|
人工智能 BI
NYOJ 45
1 // 结果超过了long long,到32就超了 2 #include 3 #include 4 using namespace std; 5 long long fun(int a,int b) 6 { 7 //if(0==b) 8 ...
593 0
|
测试技术
NYOJ 467
  中缀式变后缀式 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更“习惯于”后缀式,关于算术表达式的中缀式和后缀式的论述一般的数据结构书都有相关内容可供参看,这里不再赘述,现在你的任务是将中缀式变为后缀式。
727 0