Re[6]: Факториал, почему его нет в стандартной библиотеке
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 30.05.08 15:22
Оценка: 2 (2) +3 :))) :))) :))) :))) :)))
Здравствуйте, TarasKo, Вы писали:

TK>Но я об этом уже говорил что мало область определения фактически очень маленькая. Однако на меня наседали и спрашивали так всё-таки почему?


Анекдот вспоминается:

Работал мужик стюардом на авиалиниях. И был там обычай -- когда пасажиры покидали самолет, они отдавали ему на трапе чаевые. Чем лучше он обслуживал пасажиров, тем больше чаевых получал. Кто-то давал $1, кто-то $5.

И вот однажды, набился полный самолет евреев, летевших на Святую Землю. Обрадовался стюард, видит, что все они люди обеспеченные, ожидает хороших чаевых. Весь рейс носился как угорелый, все желания выполнял, был вежливый и вообще чуть не пылинки сдувал.

Приземлились, подогнали трап. Он стоит радостный, ждет чаевых. Выходит первый пасажир говорит: "Молодой человек, ваша мама таки может вами гордиться. Спасибо!" и спускается по трапу ничего не дав. Второй говорит практически то же самое и так же ничего не дает. Так третий пасажир, четвертый, пятый и так до последнего. Последний останавливается перед потерявшим дар речи стюардом и говорит: "Вы так старались весь рейс, что мы решили отблагодарить вас достойно. Вот вам чек на $5000. Ваша мама таки может вами гордиться".

Когда стюард пришел в себя, он крикнул вслед удаляющимся пасажирам: "Евреи! Может это и не вы распяли Христа, но как же вы его мучали!"


Блин, хватит томить. Что тебе выдали за правильный ответ.

Я бы на собеседовании послал бы таких собеседующих -- хотят историка или оракула, пусть нанимают либо того, либо другого. А еще лучше, пусть купят селедку и морочат ей голову, как хорошо говорят в Одессе.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Факториал, почему его нет в стандартной библиотеке
От: TarasKo Голландия  
Дата: 30.05.08 15:23
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, TarasKo, Вы писали:


TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


B>Во-первых, область определения очень сильно ограничена.

это я говорил, в ответ мне сказали так всё-таки почему?

B>Во-вторых, факториал не самая востребованная функция, ИМХО. Мне вот например ни разу не понадобилась

Ну это не довод, мне например не раз не понадобилась функция nthelement из STL, но она ведь включена

B>В-третьих, имеет элементарную реализацию.


нууу многие алгоритмы имеют элементарную реализацию, тот же for_each реализуется в две-три строки.
Re[9]: Факториал, почему его нет в стандартной библиотеке
От: TarasKo Голландия  
Дата: 30.05.08 15:27
Оценка: +1
Здравствуйте, Ovl, Вы писали:

Ovl>тут подумалось:

Ovl>мне почему-то кажется, что проблема в том, что функция допускает рекурсивную реализацию

Многие функции из STL написаны с помощью циклов и точно так же их можно реализовать рекурсивно.
Вообще я где-то слышал что будто бы доказано математически что рекурсия всегда может заменить цикл.
То есть из-за того, что она допускает рекурсивную реализацию её нельзя включить в STL? Ну не знаю, могу сказать что это совсем не то что я услышал
Re: Потому, что включили std::accumulate?
От: Erop Россия  
Дата: 30.05.08 15:30
Оценка: 4 (1) :))
Здравствуйте, TarasKo, Вы писали:

TK>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


Если ответ как в SUBJ, то они настоящие панки
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[10]: Факториал, почему его нет в стандартной библиотеке
От: Ovl Россия  
Дата: 30.05.08 15:32
Оценка:
Здравствуйте, TarasKo, Вы писали:

TK>Здравствуйте, Ovl, Вы писали:


Ovl>>тут подумалось:

Ovl>>мне почему-то кажется, что проблема в том, что функция допускает рекурсивную реализацию

TK>Многие функции из STL написаны с помощью циклов и точно так же их можно реализовать рекурсивно.

TK>Вообще я где-то слышал что будто бы доказано математически что рекурсия всегда может заменить цикл.
TK>То есть из-за того, что она допускает рекурсивную реализацию её нельзя включить в STL? Ну не знаю, могу сказать что это совсем не то что я услышал


ещё вариант: функция не сможет быть вызвана для всех (большинства?) примитивных (?) типов, только натуральные числа
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re: Факториал, почему его нет в стандартной библиотеке
От: TarasKo Голландия  
Дата: 30.05.08 15:33
Оценка: :))) :))) :))) :))) :))) :))) :))) :)
Здравствуйте, TarasKo, Вы писали:

TK>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


Ладно, всё не буду больше томить
Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.
Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.
Re[11]: Факториал, почему его нет в стандартной библиотеке
От: TarasKo Голландия  
Дата: 30.05.08 15:34
Оценка:
Здравствуйте, Ovl, Вы писали:

Ovl>Здравствуйте, TarasKo, Вы писали:


TK>>Здравствуйте, Ovl, Вы писали:


Ovl>>>тут подумалось:

Ovl>>>мне почему-то кажется, что проблема в том, что функция допускает рекурсивную реализацию

TK>>Многие функции из STL написаны с помощью циклов и точно так же их можно реализовать рекурсивно.

TK>>Вообще я где-то слышал что будто бы доказано математически что рекурсия всегда может заменить цикл.
TK>>То есть из-за того, что она допускает рекурсивную реализацию её нельзя включить в STL? Ну не знаю, могу сказать что это совсем не то что я услышал


Ovl>ещё вариант: функция не сможет быть вызвана для всех (большинства?) примитивных (?) типов, только натуральные числа


это я тоже сказал, что даже не для целых, а только для натуральных она применима.
Re[2]: Факториал, почему его нет в стандартной библиотеке
От: Сергей Мухин Россия  
Дата: 30.05.08 15:36
Оценка: +6
Здравствуйте, TarasKo, Вы писали:

TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


TK>Ладно, всё не буду больше томить

TK>Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.
TK>Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.

чудаки.
---
С уважением,
Сергей Мухин
Re[4]: Факториал, почему его нет в стандартной библиотеке
От: remark Россия http://www.1024cores.net/
Дата: 30.05.08 15:37
Оценка: 1 (1) :))
Здравствуйте, TarasKo, Вы писали:

TK>Ну ссылок на C&R мне естественно не дали, наверно потому что немного растерялся и не попросил.

TK>Начал рассуждать, сказал что требования к функциям в стандартной библиотеке: эффективность и удобство. Привел два примера реализации на этапе компиляции и на этапе выполнения. Сказал что и тот и другой способ удовлетворяют обеим требованиям, хотя может быть не внесли потому что факториал можно посчитать только для небольшого количества натуральных чисел, иначе будет переполнение, а это в чём то неудобно. После этого на меня начали наседать так почему всё-таки не включили? Я начал ходить кругами вокруг того что сказал, мне сказали "ну что ж вы претендуете на Seniour Software developer/Team leader и не можете сказать почему стоит включать тут или иную функцию в библиотеку" (что помоему не очень политкорректно) потом добавили в "...стандартную библиотеку" Ну вообщем мне сказали то что хотели от меня услышать, он вполне логичен, и до него мне остался один шаг, хотя не очевидный. Вообще эту причину трудно понять, пока не попишешь сам STL.


Ну раз они такие подлые, то когда ты скажешь правильный ответ мы тебе придумаем 1000 и 1 причину, почему их ответ неправильный. Дабы у тебя свалился камень с души



1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[2]: Потому, что включили std::accumulate?
От: TarasKo Голландия  
Дата: 30.05.08 15:38
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, TarasKo, Вы писали:


TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


E>Если ответ как в SUBJ, то они настоящие панки


а вот это причину мы сегодня придумали с коллегами по работе
Но они назвали другую причину.
кстати accumulate то хочет итераторы в качестве параметров. ИМХО не очень удобно его использовать для вычисления факториал числа. Думаю те кто его придумал всё-таки не предполагали его использовать
Re[2]: Факториал, почему его нет в стандартной библиотеке
От: Ovl Россия  
Дата: 30.05.08 15:39
Оценка: 2 (2)
Здравствуйте, TarasKo, Вы писали:

TK>Здравствуйте, TarasKo, Вы писали:


TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


TK>Ладно, всё не буду больше томить

TK>Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.
TK>Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.

надеюсь вы им ответили что та же std::accumulate не удовлетворяет этому требованию? и куча остальных контейнеров — тоже?

короче, похоже им там совсем скучно. шли бы поработали.
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
Re[2]: А почему double не подходит?
От: Erop Россия  
Дата: 30.05.08 15:40
Оценка: :)
Здравствуйте, TarasKo, Вы писали:

TK>Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.

А почему нельзя факториал возвращать в double?..

TK>Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Факториал, почему его нет в стандартной библиотеке
От: remark Россия http://www.1024cores.net/
Дата: 30.05.08 15:40
Оценка: +6
Здравствуйте, TarasKo, Вы писали:

TK>Здравствуйте, TarasKo, Вы писали:


TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


TK>Ладно, всё не буду больше томить

TK>Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.
TK>Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.

Похоже, что они просто приняли всерьёз шутку из какой-то статьи/воспоминаний/блога


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[2]: Факториал, почему его нет в стандартной библиотеке
От: Сергей Мухин Россия  
Дата: 30.05.08 15:42
Оценка: 1 (1)
Здравствуйте, TarasKo, Вы писали:

TK>>Сообственно почему? Спросили на собеседовании, потом сказали правильный ответ. Но сейчас меня начали одолевать кое-какие сомнения


TK>Ладно, всё не буду больше томить

TK>Мне ответили, что тогда надо было бы придумать новый тип для возвращаемого значения факториала. Поскольку в int он вмещается только на небольшой области определения.
TK>Ну и соответственно этот тип надо было бы поддерживать, что довольно геморно.


ребята совсем не знают что такое языки программирования.

Типы гораздо более базовая вещь чем ф-ии библиотеки, и когда идет разработка/выбор библиотеки НЕ РАССМАТРИВАЮТ новые типы, а только те, которые уже есть в языке.

Так что ответ был дан правильный.
---
С уважением,
Сергей Мухин
Re[12]: Факториал, почему его нет в стандартной библиотеке
От: Erop Россия  
Дата: 30.05.08 15:42
Оценка:
Здравствуйте, TarasKo, Вы писали:

TK>это я тоже сказал, что даже не для целых, а только для натуральных она применима.


Во-первых, есть корень
Во-вторых, есть unsigned
В-третьих, есть обощение факториала на вещественные числа...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: Факториал, почему его нет в стандартной библиотеке
От: Сергей Мухин Россия  
Дата: 30.05.08 15:44
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, TarasKo, Вы писали:


TK>>это я тоже сказал, что даже не для целых, а только для натуральных она применима.


E>Во-первых, есть корень

E>Во-вторых, есть unsigned
не намного лучше
E>В-третьих, есть обощение факториала на вещественные числа...
про гамму ф-ию я уже говорил, но ее реализация м.б. не очень тривиальна.
---
С уважением,
Сергей Мухин
Re[3]: Факториал, почему его нет в стандартной библиотеке
От: Сергей Мухин Россия  
Дата: 30.05.08 15:45
Оценка:
Здравствуйте, remark, Вы писали:

R>Похоже, что они просто приняли всерьёз шутку из какой-то статьи/воспоминаний/блога


наверняка!
---
С уважением,
Сергей Мухин
Re[3]: Факториал, почему его нет в стандартной библиотеке
От: remark Россия http://www.1024cores.net/
Дата: 30.05.08 15:51
Оценка: +1
Здравствуйте, Сергей Мухин, Вы писали:

СМ>ребята совсем не знают что такое языки программирования.


СМ>Типы гораздо более базовая вещь чем ф-ии библиотеки, и когда идет разработка/выбор библиотеки НЕ РАССМАТРИВАЮТ новые типы, а только те, которые уже есть в языке.



Согласен.
Если человек работает, например, с int. То "большой" тип, возвращаемый *одной* функцией нафиг не нужен.
А если человек хочет работать с "большим" типом, то одна функция, работающая с этим типом, тоже нафиг не нужна.

Т.е. имеет смысл делать либо факториал, работающий с существующими типами, либо полную поддержку нового типа.


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[4]: Факториал, почему его нет в стандартной библиотеке
От: remark Россия http://www.1024cores.net/
Дата: 30.05.08 15:52
Оценка:
Здравствуйте, Сергей Мухин, Вы писали:

СМ>Здравствуйте, remark, Вы писали:


R>>Похоже, что они просто приняли всерьёз шутку из какой-то статьи/воспоминаний/блога


СМ>наверняка!


В стиле Страуструпа, кстати...


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[14]: Факториал, почему его нет в стандартной библиотеке
От: Erop Россия  
Дата: 30.05.08 15:56
Оценка:
Здравствуйте, Сергей Мухин, Вы писали:

СМ>про гамму ф-ию я уже говорил, но ее реализация м.б. не очень тривиальна.

Это повод её не включать?
Надо было у них спросить почему, по их мнению, гаму не включили
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.