Напишите функцию, которая будет принимать начальное и конечное значения диапазона чисел и возвращать наибольшее простое число в этом диапазоне.
Примечания:
- В функцию будут передаваться только положительные целые числа.
- Простое число — такое целое положительное число, которое делится только на себя и на единицу.
Примеры
fat_prime(2, 10) ➞ 7 # диапазон [2, 3, 4, 5, 6, 7, 8, 9, 10], наибольшее простое число - 7. fat_prime(10, 2) ➞ 7 # [10, 9, 8, 7, 6, 5, 4, 3, 2], наибольшее простое число - 7. fat_prime(4, 24) ➞ 23 # [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] наибольшее простое число - 23.
Вариант решения
def fat_prime(a, b): s, e = min(a,b), max(a,b) return max(i for i in range(s,e+1) if all(i%j for j in range(2,int(i**0.5)+1))