已知今天是星期二,问 n 天后是星期几(n>=0)。程序输入 n,输出“Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"或"Sunday"c++怎么写
时间: 2023-09-26 21:07:56 浏览: 99
可以使用取模运算(%)来计算 n 天后是星期几,因为一周有七天,所以 n 天后的星期几就是 (2 + n) % 7。
下面是一个示例代码:
```python
n = int(input("请输入天数n: "))
weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
day_index = (2 + n) % 7
print(weekdays[day_index])
```
首先,我们通过 input() 函数获取用户输入的天数 n,并将其转换为整数类型。
接下来,我们定义一个列表 weekdays,其中包含了一周七天的名称。注意,列表的下标从 0 开始,所以星期二的下标为 1。
然后,我们使用取模运算 (2 + n) % 7 计算 n 天后是星期几的下标。这里加上 2 是因为已知今天是星期二,所以星期二的下标为 1,再加上 n 天后的偏移量 1,就是 (2 + n)。
最后,我们通过下标从 weekdays 列表中取出对应的字符串,即 n 天后是星期几的名称,使用 print() 函数输出结果。
相关问题
已知今天是星期二,问 n 天后是星期几(n>=0)。程序输入 n,输出“Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"或"Sunday"
```python
n = int(input())
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
print(days[(n % 7 + 1) % 7])
```
解释:
根据题意,每过一周(7天)星期几会循环一次,因此我们只需要计算 n 天后相当于当前星期几再往后多少天即可。具体来说,我们首先将 n 对 7 取模,得到的结果表示 n 天后相当于当前星期几往后多少天。例如,如果 n 是 8,则 n 天后相当于当前星期二往后 1 天,即星期三。然后我们再将这个数对 7 取模,得到的结果就是 n 天后是星期几。例如,如果 n 是 8,则 n 天后相当于星期三往后 1 天,即星期四,对应的是 days[4],因此输出 "Thursday"。注意,这里我们需要先将星期二的下标设为 0,因此在计算时需要将结果加 1。
已知2023年5月4日是星期四,问n天后是星期几(n>=0)。程序输入n,输出“Monday”、“Tuesday”、“Wednesday”、“Thursday”、“Friday”、“Saturday”、“Sunday”
可以使用基姆拉尔森计算公式来计算n天后是星期几。该公式是通过将年份、月份和日期转换为一个数值来计算的。
公式如下:
dayOfWeek = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7
其中,day 是给定日期的天数,month 是给定日期的月份(3月为1,4月为2,5月为3,以此类推),year 是给定日期的年份(例如,2023年为2023,2024年为2024)。
以下是一个Python程序实现:
```python
def day_of_week(n):
# 已知日期是星期四,因此day为4
day = 4
# 给定日期为2023年5月4日
year, month = 2023, 5
# 计算n天后的日期
day += n
month += (day - 1) // 31
day = (day - 1) % 31 + 1
year += month // 12
month = month % 12
# 计算星期几
if month < 3:
year -= 1
month += 12
dayOfWeek = (day + 2 * month + 3 * (month + 1) // 5 + year + year // 4 - year // 100 + year // 400) % 7
# 返回星期几的字符串
return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][dayOfWeek]
# 测试
print(day_of_week(0)) # 星期四
print(day_of_week(1)) # 星期五
print(day_of_week(7)) # 星期四
print(day_of_week(365)) # 星期五
print(day_of_week(10000)) # 星期四
```
输出结果为:
```
Thursday
Friday
Thursday
Friday
Thursday
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)