ccf 201509-2日期计算

来源:互联网 发布:python google语音api 编辑:程序博客网 时间:2024/05/16 12:13
问题描述
试题编号:201509-2试题名称:日期计算时间限制:1.0s内存限制:256.0MB问题描述:
问题描述
  给定一个年份y和一个整数d,问这一年的第d天是几月几日?
  注意闰年的2月有29天。满足下面条件之一的是闰年:
  1) 年份是4的整数倍,而且不是100的整数倍;
  2) 年份是400的整数倍。
输入格式
  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
  输入的第二行包含一个整数dd在1至365之间。
输出格式
  输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
口诀:“七前单数七后双”,也就是7以及7月份之前的月份,31号的是单数,7月份之后有31号的的双数

import java.util.Scanner;public class CountDate {public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner=new Scanner(System.in);int y=scanner.nextInt();int d=scanner.nextInt();boolean flag=false;if( (y%4==0 && y%100!=0) || y%400==0 )flag=true;int[] day=new int[13];int i;for(i=1;i<=12;i++){if( (i<=7 && i%2==1) || (i>7 && i%2==0)){day[i]=31;}else {day[i]=30;}}if(flag){day[2]=29;}else {day[2]=28;}//for(i=1;i<=12;i++){//System.out.println(day[i]);////}for(i=1;i<=12;i++){d-=day[i];if(d<=0)break;}System.out.println(i);System.out.println(d+day[i]);}}


原创粉丝点击