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

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

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

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





Не зарегистрирован
ссылка на сообщение  Отправлено: 15.05.23 05:49. Заголовок: 25_5288 (М. Фирсов)


Здравствуйте!
Помогите разобраться.
Не сходится ответ.

Мой вариант программы:
 
divs=[]
for m in range(2,500001):
kdivs=0
if m>10:
k=int(m**0.5)
else:
k=m
for d in range(2,k):
if m%d==0:
kdivs+=1
break
if kdivs==0:
divs+=[m]

for n in range(100000,500000+1):
divsn=[]
for d in divs:
if n%d==0:
divsn+=[d]

if len(divsn)> 3:
p=0
r=divsn[1]-divsn[0]
if r!=0:
for i in range(len(divsn)-1):
if divsn[ i+1 ]-divsn[ i ]==r:
p+=1
if p==len(divsn)-1:
print(n,len(divsn)*r)


В результате получается:
101065 48
124729 24
177289 48
278185 72

А у М. Фирсова ответ:
101065 48
107525 24
124729 24
177289 48
236555 24
278185 72
365585 24
494615 24

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


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




Сообщение: 4001
ссылка на сообщение  Отправлено: 04.06.23 11:47. Заголовок: Поищите эту задачу з..


Поищите эту задачу здесь, а авторское решение - здесь.

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





Сообщение: 1
ссылка на сообщение  Отправлено: 05.06.23 08:53. Заголовок: Поляков пишет: Бла..


Благодарю за ваш ответ.
В моём варианте ищутся только простые делители, а в варианте М. Фирсова:
  
def factorization(n):
for div in range(2, int(n ** 0.5) + 1):
if n % div == 0:
return [div] + factorization(n // div)
return [n]


Видимо из-за этого ответы только частично совпадают.

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





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


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

def reseto(n):
l=[]; r=set()
for i in range(2,n+1):
if i not in r:
l.append(i)
r.update(range(i**2,n+1,i))
return l
res=reseto(85000)

for n in range(100000,500001):
delit=de(n)
if len(delit)>3 and all(delit[i+1]-delit==delit[i+2]-delit[i+1] for i in range(len(delit)-2)):
print(n, len(delit)*(delit[1]-delit[0]))


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

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