Числа Фибоначчи
Aug. 22nd, 2019 10:14 amОпустим тот факт, что числа Фибоначчи являются хрестоматийной рекуррентной последовательностью. В конце концов, не все учились в физматшколах, не все читали математический научпоп, не у всех была алгебра в вузе.
Но я уже на третьем собесе подряд вижу в резюме Python (в одном случае даже какие-то курсы) и на третьем же собесе подряд человек смотрит на задачу посчитать N-ое число Фибоначчи, как баран на новые ворота. Один из трех вообще отказался, заявив, что он-де, "автоматизировал, но не программировал".
Я понимаю, что мы берем не программера, я не гвалтую людям мозг задачами вроде: "напишите mergesort", "разверните односвязный список" или "проверьте такое-то свойство дерева". Но, е-мое, рекурсивная реализация чисел Фибоначчи пишется в пять строк с одним if-elif-else; итеративная - в восемь строк с одним циклом. Функционально, наверное, можно в одну строку, просто я не умею.
Даже на Хабре была статья в духе: "Десять способов посчитать числа Фибоначчи, потому что у вас про них спросят на собесе".
Вот скажите, о общественность, то, что я думаю, что любой человек, желающий "автоматизировать", должен уметь реализовать простейший прикладной алгоритм с циклом и условием - это снобизм и барство, или это все-таки разумное требование?
Тут мне жена справедливо заметила, что они в школе (обычной!) на информатике прогали на Бейсике еще и не такое - но я смутно подозреваю, что "вас же этому в школе учили" давно уже не аргумент.
Но я уже на третьем собесе подряд вижу в резюме Python (в одном случае даже какие-то курсы) и на третьем же собесе подряд человек смотрит на задачу посчитать N-ое число Фибоначчи, как баран на новые ворота. Один из трех вообще отказался, заявив, что он-де, "автоматизировал, но не программировал".
Я понимаю, что мы берем не программера, я не гвалтую людям мозг задачами вроде: "напишите mergesort", "разверните односвязный список" или "проверьте такое-то свойство дерева". Но, е-мое, рекурсивная реализация чисел Фибоначчи пишется в пять строк с одним if-elif-else; итеративная - в восемь строк с одним циклом. Функционально, наверное, можно в одну строку, просто я не умею.
Даже на Хабре была статья в духе: "Десять способов посчитать числа Фибоначчи, потому что у вас про них спросят на собесе".
Вот скажите, о общественность, то, что я думаю, что любой человек, желающий "автоматизировать", должен уметь реализовать простейший прикладной алгоритм с циклом и условием - это снобизм и барство, или это все-таки разумное требование?
Тут мне жена справедливо заметила, что они в школе (обычной!) на информатике прогали на Бейсике еще и не такое - но я смутно подозреваю, что "вас же этому в школе учили" давно уже не аргумент.
(no subject)
Date: 2019-08-23 09:56 pm (UTC)https://helloacm.com/learning-powershell-recursive-fibonacci-computation/
>>- нинада выводить полезный результат с помощью write-host
-
Чегойта? В файл его чтоли выводить?
(no subject)
Date: 2019-08-24 08:52 am (UTC)function fib() { # Get-FibonacciNumber :) Param( [int]$n ) ... # iterative Fibonacci implementation for ($i = 1; $i -lt $n; $i++){...} ... } ... fib(10)А что до вывода, то поскольку return считается некомильфо, то вывод надо гнать в Output через Write-Output. Поскольку если ты пишешь через write-host, то ты этот вывод конвейером в другой командлет уже не загонишь.
(no subject)
Date: 2019-08-24 07:00 pm (UTC)-
В курсе. Но я вообще не увидел в переписке задачи сделать функцию.
Посчитайте н-ное - ок, посчитал (с учетом ошибок).