SGU 115. Calendar (基姆拉尔森公式)
2017-09-27 12:37
363 查看
irst year of new millenium is gone away. In commemoration of it write a program that finds the name of the day of the week for any date in 2001.
Input
Input is a line with two positive integer numbers N and M, where N is a day number in month M. N and M is not more than 100.
Output
Write current number of the day of the week for given date (Monday – number 1, … , Sunday – number 7) or phrase “Impossible” if such date does not exist.
Sample Input
Sample Output
用基姆拉尔森公式算出某年某月某日是星期几。
Input
Input is a line with two positive integer numbers N and M, where N is a day number in month M. N and M is not more than 100.
Output
Write current number of the day of the week for given date (Monday – number 1, … , Sunday – number 7) or phrase “Impossible” if such date does not exist.
Sample Input
21 10
Sample Output
7
用基姆拉尔森公式算出某年某月某日是星期几。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int CalculateWeekDay(int y, int m,int d) { if(m==1||m==2) m+=12,y--; int iWeek = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; return iWeek + 1; } int j[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int main(void) { int m,d; while(scanf("%d%d",&d,&m)==2) { if(m > 12 || m < 1) { printf("Impossible\n"); continue; } if(d > j[m] || d < 1) { printf("Impossible\n"); continue; } printf("%d\n",CalculateWeekDay(2001,m,d)); } return 0; }
相关文章推荐
- HDU 6112 今夕何夕 (zeller\基姆拉尔森公式 星期公式)
- NYOJ-An problem about date(基姆拉尔森公式)
- 基姆拉尔森公式
- 基姆拉尔森公式--判断星期几
- 基姆拉尔森星期计算公式
- 基姆拉尔森公式——根据日期计算星期几(未来的)
- 基姆拉尔森公式计算星期
- 基姆拉尔森公式--判断星期几
- 基姆拉尔森公式根据日期计算星期
- 基姆拉尔森公式(Kim Larson)
- 基姆拉尔森公式与蔡勒公式-求某天星期几
- 基姆拉尔森公式计算周几的C语言实现方法
- 日期计算 基姆拉尔森公式
- 基姆拉尔森公式--计算日期周几
- 【蓝桥杯-日期计算】蔡基姆拉尔森计算公式
- [SGU]115. Calendar
- 由年月日确定周几----蔡基姆拉尔森计算公式
- SGU 495 期望 简单推公式
- C++基于蔡基姆拉尔森计算公式实现由年月日确定周几的方法示例
- [叩响C#之门]第3章 运算符和表达式 3.1算术运算符(附:由年月日计算星期的吉姆拉尔森公式)