Напишите программу, которая находит 10 простых чисел наиболее приближенные к числу 10000000 (10 миллионов). Причем 5 найденных чисел должны быть меньше заданного числа, остальные 5 чисел-больше.
Найденные числа расположите в порядке возрастания. В качестве ответа выведите пары чисел — расстояние от найденного числа до 10000000 и само число.
Например, для числа 50 ответ должен быть следующим (числа в парах разделены пробелом):
19 31
13 37
9 41
7 43
3 47
3 53
9 59
11 61
17 67
21 71
«Некрыловские варианты» от Евгения Джобса — Вариант 5
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def prosto(x): for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True k=0 a = [] for x in range(10_000_000, 9_000_000, -1): if prosto(x): k += 1 a.append((10_000_000 - x, x)) if k==5: break print(*a[::-1]) k=0 for x in range(10_000_000, 11_000_000): if prosto(x): k += 1 print(x-10_000_000, x) if k==5: break |
Ответ: 63 9999937
57 9999943
29 9999971
27 9999973
9 9999991
19 10000019
79 10000079
103 10000103
121 10000121
139 10000139
