Найти - Пользователи
Полная версия: Задача 25 егэ
Начало » Центр помощи » Задача 25 егэ
1
Lee
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку 190201, 190221 числа, имеющие ровно 4 различных делителей. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания.
Я написал вот такую программу, но она ничего не выдает
[code python]from math import sqrt
a = 190201
b = 190221
for n in range(a, b + 1):
x=[]
if int(sqrt(n))== sqrt(n):
for j in range(2,int(sqrt(n))+1):
if n%j==0:
x.append(j)
if j!=n//j:
x.append(n//j)
if len(x)>=2:
break
if len(x)==2:
x.sort
print(n) [/code]
PEHDOM
Это потому что вы не поняли в предыдущие разы что именно вы делаете.
if int(sqrt(n))== sqrt(n): будет означать что число имеет НЕЧЕТНОЕ число делителей, вам же нужно “ имеющие ровно 4 различных делителей”. Чнтыре, внезапро, ЧЕТНОЕ. тоесть вы отсеиваете нужные числа и пытаетесь посчитать количество делителей там где считать не нужно.
Lee
Спасибо, исправил! Работает)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB