На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 23
ссылка на сообщение  Отправлено: 24.04.22 22:23. Заголовок: задание 25 номер 105 Нужна подсказка в поиске пути решения


105) Рассматриваются целые числа, принадлежащих числовому отрезку [523456; 578925], которые представляют собой произведение двух различных простых делителей. Найдите такое из этих чисел, у которого два простых делителя меньше всего отличаются друг от друга. В ответе запишите простые делители этого числа в порядке возрастания. Если подходящих чисел несколько, запишите в ответе делители наименьшего из них.
Я предложила такое решение:
 
k=0
p=[]
f=0

raz2=1000000000000000
for i in range(523456, 523500+1):
b = []

for j in range(1,int(i**0.5)+1):
if j*j==i:
b.append(j)
else:
if i%j==0:
b.append(j)
b.append(i//j)
b.sort()
d=[]
for x in range(len(b)):
c=[]
r = b[x]
for y in range(1,int(r**0.5)+1):
if y*y==r:
c.append(y)
else:
if r%y==0:
c.append(y)
c.append(r//y)
if len(c)==2:
c.sort()
d.append(r)
d.sort()
for ch1 in range(len(d)-1):
for ch2 in range(ch1+1, len(d)):
if d[ch1]*d[ch2]==i:
print(i,d)


Что я забываю учитывать? Или совсем мое решение не имеет места быть?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]


Администратор




Сообщение: 3511
ссылка на сообщение  Отправлено: 28.04.22 09:39. Заголовок: 1) начинайте перебор..


1) начинайте перебор делителей с 2 (первое простое число)
2) сразу отбрасывайте числа, у которых более 2-х нетривиальных делителей
3) если у числа два нетривиальных делителя, они оба простые, находите их разность и сравниваете с минимумом.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 952
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет