每个日期可以转成8位数字,比如 2020年4月28日 对应的就是 20200428。请找出从现在开始满足条件的1个最近的日期,这个日期中包含m个n数字,m(1<=m<=6),n(1<=n<=9)由键盘输入。 输入格式: 输入m(1<=m<=6),n(1<=n<=9),空格分开。 输出格式: 符合要求的日期。
时间: 2023-11-27 07:51:05 浏览: 86
这道题可以通过模拟日期的方式来判断每个日期是否符合条件,然后找到最近的符合条件的日期。
具体思路如下:
1. 获取当前日期,并将其转换为8位数字格式。
2. 从当前日期开始往后遍历每个日期,直到找到符合条件的日期或者超过了一年的时间(365天)。
3. 对于每个遍历到的日期,判断其是否包含m个n数字。首先将日期转换为字符串,然后遍历字符串中的每个字符,如果字符等于n,则将计数器加1。如果计数器达到了m,则说明该日期符合条件,输出该日期并结束程序。
4. 如果遍历完一年的时间还没有找到符合条件的日期,则输出"不存在符合条件的日期"。
下面是对应的Python代码实现:
```python
import datetime
# 获取当前日期并转换为8位数字格式
current_date = datetime.datetime.now().strftime("%Y%m%d")
# 读入m和n
m, n = map(int, input().split())
# 遍历每个日期,找到符合条件的日期
for i in range(365):
# 计算当前日期
date = (datetime.datetime.strptime(current_date, "%Y%m%d") + datetime.timedelta(days=i)).strftime("%Y%m%d")
# 判断该日期是否符合条件
count = 0
for digit in date:
if digit == str(n):
count += 1
if count == m:
print(date)
exit()
# 如果遍历完一年的时间还没有找到符合条件的日期,则输出"不存在符合条件的日期"
print("不存在符合条件的日期")
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![sb3](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)