第一题:给定2000年1月1日是星期六,输入是年份,月份,周数和一周的第几天,输出日期。
例:输入:
2022 08 3 2
输出:
2022-08-16
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] s = sc.nextLine().split(" ");
int year = Integer.parseInt(s[0]);
int month = Integer.parseInt(s[1]);
int week = Integer.parseInt(s[2]);
int day = Integer.parseInt(s[3]);
int tmp = 0;
for(int i=2000;i<year;i++){
if(isRun(i)){
tmp += 366 % 7;
}else{
tmp += 365 % 7;
}
}
int[] count = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if(isRun(year)){
count[1] = 29;
}
for(int i=0;i<month-1;i++){
tmp+= count[i];
}
tmp = tmp % 7;
int res = 0;
int[] xinqi = {6, 7, 1, 2, 3, 4, 5};
tmp = xinqi[tmp]; //表示1号是星期几
System.out.println("1号: " + tmp);
int w = week;
//System.out.println("....");
if(w == 1){
if(tmp > day){
System.out.println(0);
return;
}else{
res = day - tm