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

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

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

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





Сообщение: 3
ссылка на сообщение  Отправлено: 06.05.23 13:06. Заголовок: 5227 Не могу понять как правильно


Добрый день! Немножко не понимаю, как именно следовало написать код к данной задаче.
Вот мое решение:
def p(n): #проверка на простое число
k = 0
for i in range(2, int(n**0.5)+1):
if n%i==0:
k += 2
break
if k==0:
return 1
else: return 0


m = []
for k in range(500):
n = 500000000+k
b = []
if n == int(n**0.5)**2: # проверка на полный квадрат
if p(n**0.5):
b.append(n**0.5)
for d in range(2, int(n**0.5)): #проверка на другие делители отличные от корня числа, при его наличии
if n%d==0:
if p(d) and p(n//d):
b.append(d)
b.append(n//d)
if len(b) >=3:
break
if 1<=len(b)<3: #
m.append((k, max(b)))
if len(m)==5:
break
print(m)

Мой ответ:
17 45454547
14 250000007
10 250000005
6 250000003
2 250000001

Правильный ответ:
21 266099
19 166666673
17 45454547
9 1
3 1

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

P. s.: не понял, как сделать так, чтобы сайт учитывал табуляцию

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







Сообщение: 4
ссылка на сообщение  Отправлено: 06.05.23 13:12. Заголовок: файл с кодом загрузи..


файл с кодом загрузил на яндекс диск:
ссылка

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 4003
ссылка на сообщение  Отправлено: 04.06.23 11:49. Заголовок: Ilya Panov пишет: не..


Ilya Panov пишет:
 цитата:
не понял, как сделать так, чтобы сайт учитывал табуляцию

Прочитать текст в желтой рамке в верхней части страницы.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 90
ссылка на сообщение  Отправлено: 24.06.23 05:19. Заголовок: de=lambda n: sorted..


 
from itertools import *
de=lambda n: sorted(list(set(chain(*[(a,n//a) for a in range(1,int(n**0.5)+1) if n%a==0]))))

l=[]
for n in range(500000000, 500000000+100):
delit=de(n)
if len([(a,b,c) for (a,b,c) in product(delit[1::],repeat=3) if a*b*c==n])==0:
l.append((n-500000000,max(delit[:-1])))
for c in sorted(l, reverse=True)[-5:]:
print(c[0],c[1], sep=' ')



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

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