python.查找在[m,n]范围内是否有同时满足下列条件的正整数: (1)对5取余等于1,对7取余等于3,对11取余等于5 (2)是一个素数 例如区间【3000, 4000】内有3041满足条件。区间【5000,6000】内有5351满足条件,区间【6000,7000】内有6121满足条件。 如果一个区间内有多个数据满足条件,输出最小的那个。如果没有任何数据满足条件,输出“none”,比如区间【4000,5000】输入格式:两个正整数m和n,表示闭区间[m,n],题目保证:1≤m≤n≤100,000,000,两个数据之间用空格隔开 输出格式: 一行。如果找到满足题目要求的数据,则输出这个数;如果有多个数据,输出其中最小的那个。如果一个数据都没有,输出“none”
时间: 2024-03-23 16:39:54 浏览: 59
python简单实例训练(21~30)
以下是实现代码:
```python
import math
def is_prime(num):
if num == 1:
return False
elif num == 2:
return True
else:
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
m, n = map(int, input().split())
min_prime = None
for i in range(m, n + 1):
if i % 5 == 1 and i % 7 == 3 and i % 11 == 5 and is_prime(i):
if min_prime is None or i < min_prime:
min_prime = i
if min_prime is None:
print("none")
else:
print(min_prime)
```
首先定义了一个判断素数的函数 `is_prime()`,接着遍历区间 `[m,n]` 内的每一个正整数,依次判断是否满足条件(1)和(2),如果同时满足则判断是否是素数,如果是素数则记录下来。最后输出记录的最小素数即可。如果没有记录任何素数,则输出 `"none"`。
阅读全文