L1-024 后天(5分)[java][python]

5 阅读1分钟

题目ID:L1-024 分数:5分 语言:Java / Python

题目描述

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的"后天"是星期几。

输入格式

输入第一行给出一个正整数 D(1 ≤ D ≤ 7),代表星期里的某一天。

输出格式

在一行中输出D天的后天是星期几。

样例

输入

3

输出

5

解题思路

今天是星期 D,后天 = D + 2。如果超过7,则需要取模(星期制是1~7的循环)。

公式

  • D + 2 如果 ≤ 7,直接输出
  • 如果 > 7,则输出 (D + 2 - 1) % 7 + 1,即 ((D + 2 - 1) % 7) + 1

更简单:((D + 1) % 7) + 1

验证:

  • D=5(周五)→ (5+1)%7+1 = 6%7+1 = 6+1 = 7 ✓(周日)
  • D=6(周六)→ (6+1)%7+1 = 7%7+1 = 0+1 = 1 ✓(周一)
  • D=7(周日)→ (7+1)%7+1 = 8%7+1 = 1+1 = 2 ✓(周二)

代码实现

Java

import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int D = Integer.parseInt(br.readLine().trim());
        int result = ((D + 1) % 7) + 1;
        System.out.println(result);
    }
}

Python

D = int(input().strip())
result = ((D + 1) % 7) + 1
print(result)

运行验证

样例验证

输入3

(3+1)%7+1 = 4%7+1 = 4+1 = 5

输出5

更多测试

输入星期后天输出
1周一周三3
3周三周五5 ✓
5周五周日7
6周六周一1
7周日周二2

复杂度分析

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

总结

本题考察日期循环的取模计算,注意星期制的范围是1~7。