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

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

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

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



Сообщение: 4
ссылка на сообщение  Отправлено: 22.12.21 18:05. Заголовок: 25 задание задача 153


def p(x):
for d in range(2, int(x**0.5)+1):
if x%d==0:
return False
return True

for i in range(1,int(1000000**0.25)+1):
d=1
b=[]
if p(i):
if i%d==0:
b.append(d)
if len(b)==1600:
print(i)
d=d*2

Непонятно какой диапазон нужно рассматривать

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


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




Сообщение: 3117
ссылка на сообщение  Отправлено: 22.12.21 18:13. Заголовок: 1) Для оформления пр..


1) Для оформления программы воспользуйтесь советом в желтой рамке вверху.
2) Эта задача вот так в лоб не решается.
3) Все решения 25-х задач есть на сайте.

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





Сообщение: 3
ссылка на сообщение  Отправлено: 08.02.22 16:57. Заголовок: Об алгоритме решения этого задания


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

Особое внимание хотелось бы, чтобы было уделено разбору задач №156 и 157, там где количество
делителей является степенью одного простого числа: 729 = 3^6, например.
Заранее спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 414
ссылка на сообщение  Отправлено: 02.03.22 13:37. Заголовок: видимо, в программе ..


видимо, в программе на сайте и в ответах ошибка
для 729
primeFactors [3,3,3,3,3,3]
primes [2,3,5,7,11,13]
N=2^2 * 3^2 * 5^2 * 7^2 * 11^2 * 13^2
мы N делим на 13 и умнажаем на 2^3
N=2^5 * 3^2 * 5^2 * 7^2 * 11^2 * 13
но primeFactors станет [6,3,3,3,3,2], а это не 729 и 13 удаляется из primes
должно быть
primeFactors [9,3,3,3,3]
primes [2,3,5,7,11]
речь об этом куске кода
 
k2 = primeFactors[0]
lastPrime = primes[-1]
while 2**k2 < lastPrime:
N = N // lastPrime * 2**k2
k2 *= 2
del primes[-1]
lastPrime = primes[-1]

думаю должно быть так:
k2 = primeFactors[0] 
lastPrime = primes[-1]
while 2**k2 < lastPrime:
k = k2
while 2 ** k < lastPrime and primeFactors[-1] - 1 > 0:
N = N // lastPrime * 2**k
k2 += k
primeFactors[-1] -= 1
del primes[-1]
del primeFactors[-1]
lastPrime = primes[-1]


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

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