Пусть M(k) = 9 000 000 + k, где k – натуральное число.
Найдите пять наименьших значений k, при которых M(k) нельзя представить в виде произведения трёх различных натуральных чисел, не равных 1.
В ответе запишите найденные значения k в порядке возрастания.
чно.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
def prosto(a): for i in range(2, int(a**0.5)+1): if a%i==0: return False return True def M(k): for i in range(2, int(k**0.5)+1): if k%i==0 and not prosto(k//i): return False return True count=0 for k in range(1, 100000): if M(9_000_000+k): print(k) count+=1 if count==5: break |
или
|
a = [] for i in range(9_000_000,9_000_000+100): if len(a) == 5: break b = 0 for j in range(2,int(i**0.5)+1): if b>2: break elif i%j == 0: b+=1 else: a.append(i-9_000_000) print(a) |
Ответ:
1
7
11
14
17