已知今天是星期二,问 n 天后是星期几(n>=0)。程序输入 n,输出“Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"或"Sunday"
时间: 2023-09-26 10:08:02 浏览: 54
```python
n = int(input()) # 输入天数
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] # 定义星期列表
index = (n % 7 + 1) % 7 # 计算星期下标
print(days[index]) # 输出星期
```
解释:
根据题意,我们需要先输入一个天数 n,然后计算 n 天后是星期几。因为一周有七天,所以 n 天后的星期与 n % 7 天后的星期相同。我们可以将 n % 7 的结果作为下标,从星期列表中取出对应的星期。但是需要注意的是,题目中给定的是星期二,而不是星期一,所以我们需要将下标加 1,再对 7 取模,得到正确的下标。最后输出对应的星期即可。
相关问题
已知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
```
建立项目、编写C++程序实现如下功能,再编译、运行: 已知2023年5月4日是星期四,问n天后是星期几(n>=0)。程序输入n,输出“Monday”、“Tuesday”、“Wednesday”、“Thursday”、“Friday”、“Saturday”、“Sunday”。
代码如下:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
const string week[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // 定义星期数组
cin >> n;
int day = (n + 4) % 7; // 计算n天后是星期几
cout << week[day] << endl; // 输出星期几
return 0;
}
```
首先定义一个星期数组,用于存储每个星期的名称。然后输入n,根据已知的2023年5月4日是星期四,计算n天后是星期几,具体计算方式是:将n加上4(因为已知的那一天是星期四),然后对7取余,得到的余数就是n天后是星期几。最后根据余数输出对应的星期名称。
相关推荐
![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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)