257 прочтений · 9 месяцев назад
Об эффективных вычислениях
Продолжаем тему вычислений. Чтобы считать эффективно, мало иметь много процессоров — надо написать хорошо распараллеленный алгоритм, который и сам по себе должен быть эффективен. Например, пусть нам надо возвести матрицу в какую-то большую степень. По определению, степень матрицы — это матрица, умноженная сама на себя указанное число раз. Умножение матриц довольно дорого, это n³ операций умножения (и много сложений ещё). Если действовать тупо по определению, то сорок вторая степень — это 41 умножение матриц...
86 прочтений · 1 год назад
Язык программирования Forth
Коль скоро мы заговорили про необычные языки программирования, держи еще один в свою коллекцию. Знакомься, Forth. Это язык программирования, который был разработан в конце 1960-х годов для управления роботами. Forth имеет синтаксис, основанный на обратной польской нотации (ОПН), вот пример кода на Форте, который вычисляет факториал числа. : factorial    ( n -- n! )    1 swap    begin dup 0>      while * swap - dup    repeat    drop ; Код начинается с определения нового слова "factorial", которое принимает один аргумент n и оставляет на результат n!...