Я экспериментирую с новой платформой и пытаюсь написать программу, которая работает со строками длиной не более 60 символов, и я хотел бы заполнить хранилище данных некоторыми известными или известными небольшими порциями кода и уравнения, так как программирование и математика согласуются с темой моего программного обеспечения. Код может быть на любом языке и в уравнениях любой математической дисциплины, если их длина не превышает 60 символов. Я подозреваю, что люди выберут немного мозгов для этого.
Например,
#include<stdio.h>
int main(){printf ("Hi World\n");return 0;}
60 символов точно!
Большое спасибо за вашу мудрость!
algorithms
source-code
BeachRunnerJoe
источник
источник
Ответы:
Классическая процедура копирования C-строк известна все меньше и меньше людей в эти дни:
источник
if (alarm = red) launchNukes();
-trap). Дейкстра посчитал бы этот код более чем вредным. Я согласен с тем, что программисту на С обязательно нужно хотя бы понять этот код, но я думаю, что для него важнее знать, как это сделать лучше.не одну строчку, но я представляю последнюю в мире ошибку C:
источник
LaunchNukes();
Я вижу игру жизни Конвея в APL, которая витает вокруг:
Дополнительным бонусом является то, что это обеспечит правильную обработку юникода.
источник
Модифицированная версия знаменитой однострочной версии Perl:
Это регулярное выражение соответствует строкам, длина которых проста.
Оригинальная версия:
который соответствует строки, состоящие из простого числа 1 с.
источник
Quicksort:
Если список пуст, отсортированный результат - пустой список.
Если список начинается с элемента x, а остальная часть списка - xs, то отсортированным результатом является список, состоящий из отсортированного списка, состоящего из всех элементов в xs меньше x, сцепленных с элементом x, сцепленным с отсортированным списком всех элементы в хз больше, чем х.
(или другими словами - разделите на две кучи, все меньше чем x и все больше, чем x, отсортируйте их обе и создайте список с кучей меньше, элементом x и кучей больше).
Бьет понятность версии C довольно легко.
источник
qsort (x:xs) = qsort lesser ++ equal ++ qsort greater where (lesser,equal,greater) = part x xs ([],[x],[])
Функция Аккермана . Реализация версии Аккермана-Петера должна вписаться в 60 символов :)
Эта прекрасная шестнадцатеричная константа: 0x5f3759df. Это сердце самого кода WTFing, который я когда-либо видел: быстрый обратный квадратный корень .
Знаменитый своп XOR .
question = /(bb|[^b]{2})/
источник
Когда я впервые понял, что такое бомба-вилка, я подумал, что это действительно мило.
источник
и его происхождение, кажется, популярно. :-)
источник
Поскольку вы упоминаете уравнения, это принадлежит вашему списку:
( Wolfram Alpha рендеринг : )
источник
e^{i/pi} = i^2
i² == -1
, так что вы можете сбалансировать уравнение, вычитая одну из двух сторон, удаления+1
и изменения=0
к-1
илиi²
Как определить четные числа:
источник
!(x%2)
на вменяемых языках.!(x & 1)
на языках без оптимизации компилятора.import this
в Python.РЕДАКТИРОВАТЬ, поскольку комментарии не могут содержать разрывы строк: для тех, у кого нет удобного интерпретатора Python, это вывод
источник
Не совсем 2 строки, но я бы сказал, что это довольно известный:
На самом деле некоторые языки могут описать это в одной строке. Луа приходит на ум, но есть и другие.
источник
Мой любимый пример лямбда-исчисления - комбинатор Y:
источник
Из упражнения в K & R, вот функция, которая будет возвращать, сколько битов установлено в данном числе. На 58 символов:
Это занимает время, пропорциональное количеству установленных бит. Часть "ах ха" здесь заключается в том, что
Удаляет самый правый установленный бит из
n
.источник
Треугольник рекурсивного Паскаля в одной строке (Haskell)
Пятьдесят два символа, добавьте пробелы по вкусу. Предоставлено «Эфимент» в комментарии здесь .
Я подумал, что это лучший пример, чем загадочные, но краткие решения в J и K (хотя я пока не пользователь Haskell).
источник
Unix рулетка (ОПАСНОСТЬ!)
Предоставлено ответом Bigown в ветке шутки (и комментарий):
(Это 62 символа в длину, так что вы можете удалить комментарий (так будет работать?) Или некоторые ненужные пробелы.)
источник
Бесконечная последовательность Фибоначчи (Хаскелл)
источник
fibs = 0 : scanl (+) 0 fibs
?Это одна из самых дорогих ошибок в истории. Этот оператор Fortran назначает значение с плавающей запятой равным 1,3 названной переменной
DO10I
.Правильный код - заголовок повторяющихся операторов цикла, пока оператор не помечен как 10, а переменная цикла не
I
принимает значения 1, 2, 3:источник
Устройство Даффа :
Том Дафф развернул запись порта с отображением в памяти в одну из самых причудливых конструкций C, которые когда-либо видел мир.
источник
Все, что связано с Hello World, приходит на ум. Вы можете использовать разные варианты, если планируете хранить несколько языков.
Для чего-то более нетривиального есть Фиббоначи .
источник
Приведенная выше строка кода Scala разбивает
people
(списокPerson
) на два списка в зависимости от их возраста.Чтобы сделать то же самое в Java, требуется большая часть кода:
источник
Обмен значениями двух переменных без использования третьей переменной. Это одна из первых вещей в программировании, что мне сказали и подумали: «Хм ... это круто»
источник
XOR
s, но на сегодня это была моя ностальгия :)Черная магия от Джона Кармака
источник
Наибольшее число, которое может быть представлено 8 байт (Python)
источник
Условный оператор :
minVal = (a <b)? а: б;
Переключатель чехол
цикл for-each [Java]
источник
!
бы унарный оператор или+
бинарный оператор. Это просто не точно.?:
это условный оператор;)это Куайн из файла Jargon в C:
Там также есть версия LISP, но вы можете найти множество других, практически на любом языке, который вы можете себе представить ...
источник
личность Эйлера, которая связывает самые красивые числа в математической вселенной: 1, 0, e, i и π: e ^ i (π) + 1 = 0
источник
У меня был хороший, и я записал это на полях.
источник
Наверное, не знаменитый, но один из моих любимых. Большинству не сразу понятно, почему это работает.
источник
Это чуть более 60 символов, но это действительно зависит от именования переменных (так что я включаю это!)
позвольте readLines (rdr: StreamReader) =
seq {пока не rdr.EndOfStream действительно
приводят к rdr.ReadLine ()}
Хорошая маленькая функция для чтения файла в последовательность строка за строкой в F #.
источник