LINUX.ORG.RU
ФорумTalks

Сравнение языков программирования

 


0

1

Мне показалась интересной задача #51 с сайта Project Euler. Это первая нетривиальная задача. Она касается замены подмножества цифр в простых числах.

Предлагаю уважаемым пользователям решить эту задачу, и написать здесь: язык программирования, общее время затраченное на решение, число строк.

Я: python, 1 час, 70 строк кода.

Лучший язык будет выбран по минимуму времени и компактности решения.

Р.S. Я не программист, поэтому долго решал.

Оптимизацией повторяющихся кусков уменьшил длину до 45 строк.

Deleted

Ты удивителен.
Ты умудрился плюнуть в лицо и Ъ и !Ъ.
Ссылку гони:)

Stahl ★★☆ ()

Предложи это белоруссу Короткевичу который сейчас на GCJ файлами .dpr грозит

видимо он как в начальной школе привык так и :
Его шкала по нисходящей(замена в случии отсутствия предпочтительного) (востановлена по топкодеру и наличию батареек; python часто по tle ):
Pascal , Java , C++ , C

Ибо алгоритмика это пересичение дискретки с программированием коли вы с проектаЭйлера в тему зашли.

qulinxao ★★☆ ()

программировать бесплатно в праздник!?

dimon555 ★★★★★ ()
Ответ на: комментарий от qulinxao

Похоже, у вас гипомания. Литий и карбамазепин поможет.

Deleted ()

оценка по количеству строк? программа, свернутая в 1 строчку, побеждает?)

Kadi ()
Ответ на: комментарий от Deleted

еще бы перевел кто, что там требуется толком - может сваял бы на лиспе решение.

Komintern ★★★★★ ()
Ответ на: комментарий от Kadi

оценка по количеству строк? программа, свернутая в 1 строчку, побеждает?)

Вроде в питоне такого нельзя сделать?)

ymuv ★★★★ ()

Час писал или час оно считалось?

Reset ★★★★★ ()
Ответ на: комментарий от ymuv

а разве кто-то запрещает использовать что-то кроме питона? :)

Kadi ()
Ответ на: комментарий от Kadi

свернутая в 1 строчку, побеждает?)

Если есть язык, где задача решается коротким заклинанием вида

@34(*j%)p%=3+[qw$$]#j: ->50^d=&
то я был бы просто в восторге.

Deleted ()
Ответ на: комментарий от Reset

Reset

Час писал или час оно считалось?

Скрипт отработал за 2 минуты на слабом ноутбуке. Час исправлял неудачные варианты и думал, где ошибка.

Deleted ()
Ответ на: комментарий от Deleted

80 строк на плюсах, полчаса времени, работает моментально, может вывести не только серию из 8 как по условию, но вообще какую захочешь. Куда постить?

Reset ★★★★★ ()
Ответ на: комментарий от Reset

Дольше искал реализацию функции nlz из «Алгоритмических трюков для программистов» нежели решал задачу.

Reset ★★★★★ ()
Ответ на: комментарий от Reset

Для n=восемь правильный ответ 121313. Для n>=9 решений нет. Код не нужен, я его всё равно вряд ли пойму.

Deleted ()
Ответ на: комментарий от Deleted

Ога, зарегистрировался.

Congratulations, the answer you gave to problem 51 is correct.

You are the 9904th person to have solved this problem.

Return to Problems page or go to thread 51 in the forum.

Reset ★★★★★ ()
Ответ на: комментарий от Reset

Я был 9903. В перерыве между нами никто не решил.

Deleted ()
Ответ на: комментарий от Reset

выложи своё - будём тюнить J версию -однострока - чёб ТС ушёл в J и познал чё он там хочет начиная такие треды.

самому лень понимать что нужно.

qulinxao ★★☆ ()
Ответ на: комментарий от Deleted

Да, для очень больших чисел у меня памяти не хватает проверить. А откуда известно, что для n>=9 нет решений?

Reset ★★★★★ ()
Ответ на: комментарий от Reset

Из общематематических соображений. Признак делимости на 3 исключает простоту всех чисел из ряда n, n+k, n+8k.

Deleted ()

А вот и искомое заклинание.

import Data.Digits
import Data.Numbers.Primes

b11 = filter (10 `elem`) . map (digits 11) $ [1..]
replace c n = unDigits 10 . map (\a -> if a == 10 then n else a) $ c
replacements c = map (replace c) [0..9]
primecount = length . filter isPrime . replacements
main = print . head . filter (\a -> snd a > 7)
             . map (\a -> (a,primecount a)) $ b11

Мой Питон никуда не годится.

Deleted ()

Тред - перепись идиотов, которые по первому зову побегут доказывать правоту своего языка?

vurdalak ★★★★★ ()
Ответ на: комментарий от Deleted

Да как-то не хочется 8 часов в день перед экраном сидеть и кодить, а потом еще и на лоре весь вечер кодить.

vurdalak ★★★★★ ()
Ответ на: комментарий от vurdalak

Да как-то не хочется 8 часов в день перед экраном сидеть и кодить

Сочувствую. Я стараюсь постепенно отходить от такой работы, и больше отдыхать. Получать поменьше, но зато беречь здоровье.

pacify ★★★★★ ()
Ответ на: комментарий от vurdalak

Вот точно о том же подумал. :) Только я не 8, а часов 5 сегодня кодил. Вечерком решил заглянуть на ЛОР, потроллить, пофлудить. А тут - «опять кодить». Ну ё-моё...

DeVliegendeHollander ★★ ()

олимпиады такие олимпиады

При вызове 10-20 запросов сервиса SOAP на С++, один из них (случайный) падает на сериализации случайного нода XML soap:envelope, т.к. элемент не найден (хотя он есть). Ошибка случается чаще под Linux, чем под Windows. valgrind не показывает ошибок вроде обращений к неинициализированным данным или чтения не своей памяти.

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

queen3 ★★★★★ ()
Ответ на: комментарий от DeVliegendeHollander

И вообще - унылость Talks за последний месяц зашкалила уже так, что стрелка залипла...

DeVliegendeHollander ★★ ()
Ответ на: комментарий от qulinxao

Предложи это белоруссу Короткевичу который сейчас на GCJ файлами .dpr грозит

А таки шо, Гена до сих пор на паскале прогает?

tiandrey ★★★★★ ()
Ответ на: комментарий от queen3

Про аксис я знаю. Про храбрецов, дергающих его из c++ — нет.

baverman ★★★ ()
Ответ на: комментарий от baverman

There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy. (c)

А в чём храбрость дёргать C из C++, собственно? Нужна особая, уличная магия?

queen3 ★★★★★ ()

На Эйлере активно рулят APL/J/K.

buddhist ★★★★★ ()
Ответ на: комментарий от queen3

Дернуть то любой сможет, а вот разобраться в случае неожиданного поведения…

baverman ★★★ ()
Ответ на: комментарий от buddhist

Правда ли говорят, что APL короче, чем J или K, потому что используются специальные символы. При нынешнем разгуле юникода J и K не очень то и нужны, и APL рулит снова.

gensym ★★ ()
Ответ на: комментарий от tailgunner

Школьник, который победил в международной олимпиаду по программированию, кажется, 6 раз. И на математике разок серебро взял.

BlackHawk ()
Ответ на: комментарий от BlackHawk

Школьник, который победил в международной олимпиаду по программированию, кажется, 6 раз. И на математике разок серебро взял.

У современных школьников ботанов знакомых с паскалем новый идол?

Ginki ()
Ответ на: комментарий от gensym

Ну если так сравнивать, в J некоторые операции вынуждены представляться двумя символами, а не одним :) У APL в настоящее время серьезная проблема в том, что нет ни одной нормальной свободной реализации, да и вообще годной реализации под не-оффтопик. В J это как-то все преодолели сейчас. Да и стандартный набор операций в J побольше. А вообще, IBM успешно скатила APL2 в СГ.

buddhist ★★★★★ ()

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

И эти люди потом ещё жалуются на засилие говнокода...

frame ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.