LINUX.ORG.RU

[вечное][фибоначи][R] Однострочники

 ,


0

1

для всех способных держать оружие ходить по ссылкам :)

http://blog.revolutionanalytics.com/2010/10/fibonacci-1-liners.html

для Ъ

очередной вброс информации от Революшен «что можно в R эффективно писать for» http://blog.revolutionanalytics.com/2010/09/newtwitter-design-based-on-a-gold... закончился водопадом однострочников делающих то же самое но «без for»

как я предполагаю --- истинная причина невозможность организовать галеру с кодерами на R лежит в невозможно медленном исполнении "индусногоиндусриального кода" в этом языке

например при наличии зонда человек пишет так (проверяют наблюдая как сходится «золотое сечение»):



require(iterators)
## Generator for Fibonacci sequence
iFib <- function() {
	lastFib <- 0
	nextFib <- 1
	nextEl <- function() {
		newLast <<- nextFib
		nextFib <<- lastFib + nextFib
  lastFib <<- newLast
  lastFib
	}
	it <- list(nextElem = nextEl)
	class(it) <- c('abstractiter','iter')
	it
}



«лишенцы» пишут в R как то так (наиболее органичный пример)


f=function(n){k=1:n;ifelse(n<1,0,sum(choose(n-k,k-1)))}

print(sapply(1:100,f))

или так

> cfrac <- function(x) Reduce(function(u, v) u + 1 / v, x, right = TRUE)

> cfrac(rep(1,10))

не понять им всей прелести коллективной гребли :)

★★★★★

> не понять им всей прелести коллективной гребли :)

Типа два последних примера не всякий осилит?

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

ну да, циклов то нету... объёмов кода нету... платить за что? за однострочник?! вы кого за дурака принимаете? откройте свой бизнес и платите за одну строчку вместо 15...

Вообще в «индустриальном» программировании мне кажется всё сейчас в процесс и его масштабы упирается. Вся прибыль от деятельности от этой одной характеристики зависит --- от оборотов. А большие обороты может дать только галера... нет целый флот галер! ... и не надо расказывать про «пароходы», и всякие «экранолёты»... плавали знаем!

ну где на приличную галеру наберешь людей осиливших мысли излагать в 15 раз компактнее? да и заказов не напасёшься... а так массой такую давку и бурную деятельность можно организовать :) большие обороты получаться :)

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

> Таг «вечное» намекает на незавершаемые вычисления?

это в каком месте незавершаемые? почему незавершаемые?

psv1967 ★★★★★
() автор топика

Какая хорошая, годная ссылочка.

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

> это в каком месте незавершаемые? почему незавершаемые?

А что, это обычные алгоритмы по вычислению последовательности/чисел/отношения Фибоначчи? Со всякими О(н), О(лог(н)), на худой конец О(1) для первых 75? Скука.

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

тобой мы живём даже в разных реальностях, вот тебе чего колют доктора? :)

вот он! человек отрицающий холокост страдания э.карпмана!

Всё индус-реальное программирование 1) ни какое не программирование, и 2) никакое не индустриальное.

Это просто способ создавать блоатваре, поскольку за блоатваре больше платють денежки. Логика проста --- собрал больше муравейник (раз тема галер и негров на них так нервирует :), получил больше денех.

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

да КПД падал, но зато никаких бизнесрисков... слюшай какой рафаэль? кому нюжен твой рафаэль? вот стена красить ровно — это бизнес, да?

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

ну тебе не угодишь, а что ты хотел? это [s]спарта[/s] открытые исходники!

Когда тебе не нравится? Ты можешь написать лучше, вместо этого конечно можно написать на ЛОР :)

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

Одно дело — сократить в 10 раз код за пять минут, другое дело — сокращать часами с 42 символов до 41. Очень высокий КПД, да.

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

какие часы?! или ты идёшь полным перебором? :)

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

вы перешли в класс 3х строчников и врменно дисквалифицированы :)

а где тип n? где вызов?

это не рабочий пример :(

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

Ни скорости, ни краткости, ни элегантности. Для школьного учебника по информатике? :)

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

Спасибо, брат. Взаимность — это всегда приятно.

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

> все примеры когда сумашедший учёный талантливый программист создавал стартап, в котором был параметризирован целый класс софта и левой ногой можно было создавать-продавать кучу услуг-софта

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

ACR
()

[действительно вечное]

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

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