ps Кроме шуток — количество опечаток, синтаксических и пунктуационных ошибок, рассогласованных предложений (проезжая на поезде, с меня слетела шляпа) зашкаливает.
def factor(x):
def f(y, q):
while not y % q:
y //= q
r[q] = r.get(q, 0) + 1
return y
r, p = {}, 7
x = f(f(f(x, 2), 3), 5)
while x >= p * p:
for s in 4, 2, 4, 2, 4, 6, 2, 6:
if not x % p:
x = f(x, p)
p += s
if x > 1:
f(x, x)
return r
def divisors(x):
r = [1]
for p, n in factor(x).items():
t = -len(r)
for _ in range(n):
for _ in range(t, 0):
r.append(r[t] * p)
return r
# посмотрим, как оно
@timer
def main(x):
print(sum(divisors(x)))
main(10 ** 9)
main(999983 * 1000003) # два больших простых
Выхлоп 2497558338
main , sec: 0.000041
999987999936
main , sec: 0.032282
В общем, преподаватель из вас с таким отношением к студентам вышел бы очень плохой.
Да ладно — я вот вам, с вашим-то профилем, сообщил нечто новое. Хоть я и не преподаватель.
А может вы правы, и новые веяния педагогики предписывают поощрять небрежность. И гнать от себя мысли вроде «если студент так нарисовал — что у него в голове»? Неважно, уяк-уяк — и в продакшн.
Автору, после вашего заступничества — полное оправдание.
Да ни в чем. Впрочем, вам со стороны виднее.
Я не стану наставаить на своём. Возможно, в соответствующем ГОСТе так и написано: «при начертании значка полевого транзистора взаимное расположение выводов не регламентируется» — я ГОСТа не читал. Но осуждаю )
Это в детских книжках они одинаковые. А в реальности паразитные ёмкости затвор-исток и затвор-сток иногда почему-то разные, вот первый попавшийся даташит.
Легко понять, проследив путь сигнала от входа до выхода, что входной каскад (полевики, выделены на схеме салатовым) — неинвертирующий. Истоковый повторитель, стало быть. Но если на рукописной схеме полевики нарисованы так коряво, что сток от истока не отличить, то на аккуратной схеме они аккуратно перепутаны.
Резюме: автор оригинальной статьи — балбес, и зачета по устройству операционников не сдал бы.
Запуск Блендера — это великий почин, но есть ещё кое-какие шероховатости )
При попытке развернуть ReactOS под VirualBox и установить VBoxGuestAdditions получаю стабильный BSOD. Вики с сайта ReactOS читал — не помогает. Хост — Ubuntu X64.
Может, имеет смысл выложить vdi-образ с установленным Additions, а? Или хотя бы тестировать Additions, а уж Блендер мы как-нибудь на хосте…
Можно еще ускориться на вычислении 10000 троек раз эдак в 15 )))
from math import sqrt
def triples():
c = 4.
while True:
a, b = sqrt(c * 2. + 1.), c
c += 1.
сс = c * c
while a < b:
if a.is_integer():
yield int(a), int(b), int(c)
b -= 1.
a = sqrt(сс - b * b)
Выбираю альбом для прослушивания (впервые или повторно — неважно) — отыгрывает и запускает шарманку из полудюжины одних и тех же заиграных хитов, которую (шарманку) я тут же гашу.
Но нет — ЯМ ничему не учится (
В любой области востребованы специализированные решения. Просто не все их осваивают, дилетанты обходятся чем попало.
Простите, не удержался — это меня как математика покоробило )
В спелчекер не умеете? Книжку писать хочите? Так найдите себе редактора, хоть на Upwork.
ps Кроме шуток — количество опечаток, синтаксических и пунктуационных ошибок, рассогласованных предложений (проезжая на поезде, с меня слетела шляпа) зашкаливает.
И зачем вообще так мучаться, ведь можно то же самое сделать проще и надёжней:
Разбивая октет на два 32-разрядных, вы вручную задаёте порядок их следования — это прямая дорожка в ад )
Размеры полей указаны там же (в _FORMAT).
Выхлоп
2497558338
main , sec: 0.000041
999987999936
main , sec: 0.032282
Это звёзды, друг мой, а шестерёнки — они в
головахиных местах крутятся.А может вы правы, и новые веяния педагогики предписывают поощрять небрежность. И гнать от себя мысли вроде «если студент так нарисовал — что у него в голове»? Неважно, уяк-уяк — и в продакшн.
Автору, после вашего заступничества — полное оправдание.
Да ни в чем. Впрочем, вам со стороны виднее.
Я не стану наставаить на своём. Возможно, в соответствующем ГОСТе так и написано: «при начертании значка полевого транзистора взаимное расположение выводов не регламентируется» — я ГОСТа не читал. Но осуждаю )
Резюме: автор оригинальной статьи — балбес, и зачета по устройству операционников не сдал бы.
При попытке развернуть ReactOS под VirualBox и установить VBoxGuestAdditions получаю стабильный BSOD. Вики с сайта ReactOS читал — не помогает. Хост — Ubuntu X64.
Может, имеет смысл выложить vdi-образ с установленным Additions, а? Или хотя бы тестировать Additions, а уж Блендер мы как-нибудь на хосте…
Лучше бы Eric Lippert восхищался питоном молча.
Но нет — ЯМ ничему не учится (