@ru_python

Страница 6941 из 9768
Nikolay
04.11.2018
11:34:16
*[list]

?

Tishka17
04.11.2018
11:35:19
http://paste.org.ru/?julhi8 можете подсказать почему ошибка?
Что это? Какой дистрибутив? Как питон ставил?

Bushido
04.11.2018
11:35:35
как минимум предлагаю предрассчитать корень из лимита
Честно говоря я в Аткине мало что понимаю, с Эратосфеном еще могу разобраться

Google
Tigran
04.11.2018
11:36:18
я тоже

но корень из лимита, очевидно, не изменяется по ходу алгоритма

вообще я не удивлён, что ты не видишь асимптотической разницы в (log log n)^2 на таком n

Bushido
04.11.2018
11:42:07
вообще я не удивлён, что ты не видишь асимптотической разницы в (log log n)^2 на таком n
я вообще не понимаю о чем ты говоришь. вижу только ущемленное ЧСВ.

Маришка
04.11.2018
11:42:12
На кой хер распаковывать лист в лист?

Tigran
04.11.2018
11:42:39
я посмотрел асимптотики алгоритмов, которые ты сравниваешь, в википедии и увидел разницу в (log log n)^2

Маришка
04.11.2018
11:43:16
я вообще не понимаю о чем ты говоришь. вижу только ущемленное ЧСВ.
Про асимптотическую сложность. Кхе. При чем тут чсв

Bushido
04.11.2018
11:43:20
На кой хер распаковывать лист в лист?
понятия не имею, я только начал питон изучать

Tigran
04.11.2018
11:43:45
с учётом того, что второй алгоритм сложнее, очевидно, он начнёт выигрывать только на достаточно больших n

вывод: твой миллион - не достаточно большое n

Bushido
04.11.2018
11:44:54




Google
Tigran
04.11.2018
11:47:02
уже интереснее

а скинь код текстом

Bushido
04.11.2018
11:48:34
https://habr.com/post/122538/

import math def sieveOfAtkin(limit): P = [2,3] sieve=[False]*(limit+1) for x in range(1,int(math.sqrt(limit))+1): for y in range(1,int(math.sqrt(limit))+1): n = 4*x**2 + y**2 if n<=limit and (n%12==1 or n%12==5): sieve[n] = not sieve[n] n = 3*x**2+y**2 if n<= limit and n%12==7: sieve[n] = not sieve[n] n = 3*x**2 - y**2 if x>y and n<=limit and n%12==11: sieve[n] = not sieve[n] for x in range(5,int(math.sqrt(limit))): if sieve[x]: for y in range(x**2,limit+1,x**2): sieve[y] = False for p in range(5,limit): if sieve[p] : P.append(p) return P sieve=sieveOfAtkin(10000000) #print (sieve) print (len(sieve))

n = 10000000 # число, до которого хотим найти простые числа numbers = list(range(2, n + 1)) for number in numbers: if number != 0: for candidate in range(number**2, n+1, number): numbers[candidate-2] = 0 #print(*list(filter(lambda x: x != 0, numbers))) # выводим простые числа sieve=[*list(filter(lambda x: x != 0, numbers))] print (len(sieve))

Nikolay
04.11.2018
11:49:15
Ещё раз

Сложный питон

Вы из с++?

Bushido
04.11.2018
11:49:57
вычитал, что Аткин быстрее Эратосфена, но из тех алгоритмов, что я нашел выходит обратное...

Tishka17
04.11.2018
11:49:59
Я бы предложил ещё вместо аппенда в P сделать generator expresdion

Bushido
04.11.2018
11:50:30
3.7

Аткина нашел в интернете, Эратосфена в другой группе помогли найти. в нем я только на #63 сменил number*2 на number**2

Tishka17
04.11.2018
11:52:26
И реально 1. Предпосчитай корень 2. Посчитай x**2, y**2 один раз за цикл 3. Убери аппенд в список

И проверь ещё раз

Tigran
04.11.2018
11:56:09
я взял твой код и у меня отношение времени работы Аткина к времени работы Эратосфена уменьшается с ростом n. но медленно.

вероятно, на достаточно большом n Аткин в итоге победит. но оперативки, чтобы дождаться этого, может не хватить)

Google
Bushido
04.11.2018
11:57:43
Спасибо

Tigran
04.11.2018
11:57:50
да там теория чисел обычная

Bushido
04.11.2018
12:01:32
да там теория чисел обычная
я недавно начал изучать питон и в целом алгоритмы и т.д. только только пытаюсь освоить

Tigran
04.11.2018
12:01:44
питон — плохой язык для числодробилок

эффективные алгоритмы тут не так эффективны из-за накладных расходов (проверки индексов, например)

лучше изучать алгоритмы, для которых достаточно встроенных структур данных (динамический массив, хэштаблица, куча)

Tigran
04.11.2018
12:04:07
короч, изучай лучше структуры данных)

Nikolay
04.11.2018
12:09:36
Си

Linked list, tree

На этом мои знания всё

Nikolay
04.11.2018
12:10:08
?

Tigran
04.11.2018
12:11:02
недурно

разворачивать односвязный список умеешь? )

Tishka17
04.11.2018
12:11:52
Мы на собеседованиях обычно просили человека как можно больше способов разворота списка предложить

Tigran
04.11.2018
12:12:08
?

я только один эффективный себе представляю

Tishka17
04.11.2018
12:12:38
Эффективность не требуется

ivan
04.11.2018
12:13:00
Вот зачем так задрачивать

Google
Eldar
04.11.2018
12:13:03
разворачивать односвязный список умеешь? )
хе-хе, в этом нет ничего сложного: рисуешь односвязный список, меняешь направление строелочек))

Tigran
04.11.2018
12:13:29
ну вот бля

что за вопросы

Tigran
04.11.2018
12:14:12
сможет ли чувак придумать разворачивание списка за O(n! n)?

Nikolay
04.11.2018
12:14:39
а на выходе чувак не знаком с фреймворком, с интрументами банальными, использующиеся каждый день

Tigran
04.11.2018
12:14:41
но некоторые не справляются

Tishka17
04.11.2018
12:15:46
чтобы потом на работе тоже тем же заниматься, видимо
Ага. Чтобы потом если эффективный из-за каких-то ограничений не реализуем человек мог что-то придумать

Admin
ERROR: S client not available

Tigran
04.11.2018
12:16:05
что за бред

можно же сразу давать задачки с ограничениями

скилл решать задачки с ограничениями у всех хороших разрабов есть

а скилл придумывать заведомо хуёвые решения — это как-то уж больно специфично

Tishka17
04.11.2018
12:16:50
Вопрос не в списке. А том, чтобы человек мог предложить альтернативное решение тому что уже знает

Tigran
04.11.2018
12:17:11
можно же просто давать задачки, которые человек ещё не знает)

Tishka17
04.11.2018
12:17:28
Да мы и перестали спрашивать про список

Tigran
04.11.2018
12:17:57
список — это хорошая задачка не на алгоритмы, а именно на код

Tishka17
04.11.2018
12:17:59
Народ как правило даже цифры в числе переставить не может

Google
?
04.11.2018
12:18:03
Tigran
04.11.2018
12:18:12
сможет ли человек на заявленном им языке быстро и просто написать хороший код для этого дела

Tishka17
04.11.2018
12:19:21
Один кандидат пытался гуглить какая есть библиотека для взятия остатка от деления

Tigran
04.11.2018
12:19:42
? ? ?

oh my

Nikolay
04.11.2018
12:20:18
это был я

?
04.11.2018
12:20:58
Tishka17
04.11.2018
12:21:05
это был я
Ты на свифте пишешь?

Tigran
04.11.2018
12:21:27
о, так это был мобильный разработчик

они ребята интересные

Tishka17
04.11.2018
12:21:32
Ага

Я в основном таких собеседовал

Nikolay
04.11.2018
12:21:57
у них ограничние на мемы и cpu

?
04.11.2018
12:21:57
ааа

Nikolay
04.11.2018
12:22:10
и акб

Tigran
04.11.2018
12:22:10
у нас в компании тоже проблемы с наймом мобильных разработчиков

мало кто скрининг даже проходит

Nikolay
04.11.2018
12:22:34
работать в вашей компании честь?

Tishka17
04.11.2018
12:23:00
Tigran
04.11.2018
12:23:54
Может мне надо было к вам на мобилки? :)))
А ты уверен, что ты бы прошёл? ? Там реально жёстко отбирают, да ещё и программировать надо будет на Objective-C, а не на свифте

Страница 6941 из 9768