Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
В общем, решил я тут, что хватит уже груши околачивать и пора заняться делом. Пока что начал смотреть лекции Орлова по алгебраической геометрии, которые выложит @matimatik, параллельно читаю петон, ц++, лисп и хацкел и паралельно с этим возвращаюсь к projecteuler.net Собственно, по последнему вопрос: там в задаче 10 задание - найти сумму всех простых чисел меньше 2 миллионов. Я набыдлокодил (на жабе, бо ни на чём другом пока толком не умею) линкрилейтед: http://pastebin.ca/2010858 Считает довольно быстро (ну, насколько вообще жаба может быть быстрой) и в результате даёт 1179908154 Но сайт говорит, что это неправильный ответ. ЧЯДНТ, скажите, пожалуйста?
Рекомендовали: @o01eg
#QNJ2RD / @goren / 5128 дней назад

набыдлил на хаскиле, стырив первую попавшуюся реализацию нахождения списка простых чисел, получил 142913828922
#QNJ2RD/E7U / @lexszero / 5128 дней назад
@lexszero Хуясе, разница в два порядка О.о А кода можно посмотреть?
#QNJ2RD/ILD / @goren --> #QNJ2RD/E7U / 5128 дней назад
@goren если чо, я хаскель не знаю, моя только последняя строчка, primes невозбранно сцопипастил, ибо тривиальная реализация уж больно тормозная primes = 2: oddprimes oddprimes = 3: sieve oddprimes 3 0 sieve (p:ps) x k = [n | n <- [x+2,x+4..p*p-2] , and [rem n p/=0 | p <- take k oddprimes]] ++ sieve ps (p*p) (k+1) max_prime = 2000000 main = putStrLn $ show $ sum [ x | x <- take (max_prime `div` 2) primes, x < max_prime ]
#QNJ2RD/6YU / @lexszero --> #QNJ2RD/ILD / 5127 дней назад
@lexszero Я тоже нихрена не понимаю, как оно работает.
#QNJ2RD/C81 / @goren --> #QNJ2RD/6YU / 5127 дней назад
@lexszero Что-то я нифига не понимаю. Ты sieve как бы определил, ты её вообще используешь где-нибудь?
#QNJ2RD/F3N / @goren --> #QNJ2RD/6YU / 5127 дней назад
@goren посмотри на первые две строчки
#QNJ2RD/XQJ / @lexszero --> #QNJ2RD/F3N / 5127 дней назад
@lexszero Ага, я уже врубился. Но, в общем, что-то у меня тоже дохуя времени занимает.
#QNJ2RD/ZDB / @goren --> #QNJ2RD/XQJ / 5127 дней назад
@goren открыл для себя takeWhile, теперь main = putStrLn $ show $ sum [ x | x <- takeWhile ( < max_prime) primes ] работает за 2 секунды
#QNJ2RD/88J / @lexszero --> #QNJ2RD/ZDB / 5127 дней назад
@lexszero Врубился. Что же я сделал не так в своём коде?
#QNJ2RD/0HA / @goren --> #QNJ2RD/88J / 5127 дней назад
@lexszero Блядь, ну я и быдлокодер. main = putStrLn $ show $ sum $ takeWhile ( < max_prime) primes
#QNJ2RD/WX9 / @lexszero --> #QNJ2RD/88J / 5127 дней назад
@matimatik Тоже хорошо.
#QNJ2RD/SJF / @goren --> #QNJ2RD/197 / 5127 дней назад
А ты учитываешь размер числа?
#QNJ2RD/AT1 / @o01eg / 5127 дней назад
@o01eg wat?
#QNJ2RD/FET / @goren --> #QNJ2RD/AT1 / 5127 дней назад
Открой же для себя факториалы
#QNJ2RD/R18 / @fragnat / 5127 дней назад
@fragnat А они чем помогут?
#QNJ2RD/51H / @goren --> #QNJ2RD/R18 / 5127 дней назад
@goren Помогут решить задачу описанную тобой
#QNJ2RD/4JG / @fragnat --> #QNJ2RD/51H / 5126 дней назад
@fragnat Покажи мне алгоритм нахождения простых чисел через факториалы.
#QNJ2RD/2FJ / @goren --> #QNJ2RD/4JG / 5126 дней назад
@goren Чорт я перепутал, почему-то думалось что факториал это сумма, а оно произведение всех натуральных чисел до n.
#QNJ2RD/P5B / @fragnat --> #QNJ2RD/2FJ / 5126 дней назад
@fragnat для суммы всех натуральных чисел тоже есть формула из комбинаторики, но как это поможет найти простые?
#QNJ2RD/E6X / @goren --> #QNJ2RD/P5B / 5126 дней назад
@goren я почему-то всегда думал что это одно и тоже, читаю гугл
#QNJ2RD/DLS / @fragnat --> #QNJ2RD/E6X / 5126 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.