Estoy experimentando con una nueva plataforma y estoy tratando de escribir un programa que trate con cadenas que no tengan más de 60 caracteres y me gustaría llenar el almacén de datos con algunos pequeños fragmentos de código famosos o conocidos y ecuaciones, ya que la programación y las matemáticas van junto con el tema de mi software. El código puede estar en cualquier idioma y las ecuaciones de cualquier disciplina matemática, siempre que tengan menos de 60 caracteres de longitud. Sospecho que la gente va a romper un poco de cerebro por este.
Por ejemplo,
#include<stdio.h>
int main(){printf ("Hi World\n");return 0;}
¡60 caracteres exactamente!
¡Muchas gracias por tu sabiduría!
algorithms
source-code
BeachRunnerJoe
fuente
fuente
Respuestas:
La rutina clásica de copia de cadenas en C es conocida por cada vez menos personas estos días:
fuente
if (alarm = red) launchNukes();
trampa). Dijkstra consideraría este código más que dañino. Estoy de acuerdo en que es imprescindible que un programador de C entienda al menos este código, pero creo que es más importante para él saber cómo hacerlo mejor.no una línea, pero presento The Last C C Bug del mundo:
fuente
LaunchNukes();
Veo el juego de la vida de Conway en APL flotando mucho:
Una ventaja adicional es que esto asegurará que esté manejando Unicode correctamente.
fuente
Una versión modificada de un famoso Perl one-liner:
Esta expresión regular coincide con cadenas cuya longitud es primo.
La versión original es:
que coincide con cadenas que consisten en un número primo de 1s.
fuente
Ordenación rápida:
Si la lista está vacía, el resultado ordenado es la lista vacía.
Si la lista comienza con el elemento x, y el resto de la lista es xs, entonces el resultado ordenado es una lista que consiste en la lista ordenada que consiste en todos los elementos en xs menos que x concatenados con el elemento x concatenado con la lista ordenada de todos elementos en xs mayores que x.
(o, en otras palabras, divídalos en dos pilas, todas menores que xy todas mayores que x, ordénelas y cree una lista con la pila menor que, el elemento xy la pila mayor que).
Supera la comprensibilidad de la versión C con bastante facilidad.
fuente
qsort (x:xs) = qsort lesser ++ equal ++ qsort greater where (lesser,equal,greater) = part x xs ([],[x],[])
La función de Ackerman . La implementación de la versión Ackermann-Péter debe caber en 60 caracteres :)
Esta encantadora constante hexadecimal: 0x5f3759df. Es el corazón del código más WTFing que he visto: la raíz cuadrada inversa rápida .
El famoso intercambio XOR .
question = /(bb|[^b]{2})/
fuente
Cuando descubrí por primera vez el bash forkbomb, pensé que era realmente dulce.
fuente
y sus derivaciones parecen ser populares. :-)
fuente
Como mencionas ecuaciones, esta pertenece a tu lista:
( Wolfram Alpha renderizado : )
fuente
e^{i/pi} = i^2
i² == -1
que puedes equilibrar la ecuación restando uno de ambos lados, eliminando+1
y cambiando=0
a-1
oi²
Cómo detectar números pares:
fuente
!(x%2)
en idiomas sanos.!(x & 1)
en idiomas sin optimizar el compilador.import this
en PythonEDITAR ya que los comentarios no pueden contener saltos de línea: para aquellos sin un intérprete de Python a mano, esta es la salida
fuente
No son exactamente 2 líneas, pero diría que esto es bastante famoso:
En realidad, algunos idiomas pueden describirlo en una línea. Lua viene a mi mente pero hay más.
fuente
Mi ejemplo favorito de cálculo lambda es el combinador Y:
fuente
De un ejercicio en K&R, aquí hay una función que devolverá cuántos bits se establecen en el número dado. A los 58 caracteres:
Lleva tiempo proporcional al número de bits establecido. La parte de "ah ja" aquí es que
Elimina el bit de ajuste más a la derecha de
n
.fuente
Triángulo recursivo de Pascal en una línea (Haskell)
Cincuenta y dos personajes, agregan espacios al gusto. Cortesía de "Ephemient" en el comentario. aquí .
Pensé que este era un mejor ejemplo que las soluciones crípticas pero breves en J y K (aunque todavía no soy un usuario de Haskell).
fuente
Ruleta Unix (¡PELIGRO!)
Cortesía de la respuesta de Bigown en el hilo de broma (y el comentario):
(Tiene 62 caracteres de longitud, por lo que puede eliminar el comentario (¿funcionaría de esa manera?) O algunos espacios no esenciales).
fuente
Secuencia de Fibonacci infinita (Haskell)
fuente
fibs = 0 : scanl (+) 0 fibs
?Este es uno de los errores más caros de la historia. Esta declaración de Fortran asigna el valor flotante de 1.3 a la variable nombrada
DO10I
.El código correcto: el encabezado de las declaraciones repetitivas del bucle hasta que la declaración etiquetada 10 y la variable del bucle que
I
acepta los valores 1, 2, 3:fuente
Dispositivo de Duff :
Tom Duff desenrolló una escritura de puerto mapeada en memoria en una de las construcciones en C más extrañas que el mundo haya visto.
fuente
Todo lo que tenga que ver con Hello World me viene a la mente. Podría optar por diferentes variaciones si planea almacenar varios idiomas.
Para algo más no trivial, está Fibbonacci .
fuente
La línea anterior de particiones de código Scala
people
(una lista dePerson
s) en dos listas basadas en sus respectivas edades.Se necesita el siguiente código para hacer lo mismo en Java:
fuente
Intercambiando los valores de dos variables sin usar una tercera variable. Esta es una de las primeras cosas en programación que me dijeron y pensé "Hmm ... eso es genial"
fuente
XOR
s, pero esta fue mi nostalgia por hoy :)Magia negra de John Carmack
fuente
El número más grande que puede ser representado por 8 Bytes (Python)
fuente
Operador condicional :
minVal = (a <b)? a: b;
Interruptor de caja
for-each loop [Java]
fuente
!
al operador unario o+
al operador binario. Simplemente no es exacto.?:
es el operador condicional;)Este Quine del archivo de jerga en C:
También hay una versión LISP allí, pero puedes encontrar muchas otras flotando, en casi cualquier idioma que puedas imaginar ...
fuente
identidad de euler que une los números más bellos del universo matemático: 1, 0, e, i y π: e ^ i (π) + 1 = 0
fuente
Tuve una buena y la anoté en el margen.
fuente
Probablemente no famoso, pero uno de mis favoritos. Para la mayoría, no es inmediatamente evidente por qué funciona.
fuente
Esto tiene un poco más de 60 caracteres, pero realmente depende de los nombres variables (¡así que lo incluyo!)
deje que readLines (rdr: StreamReader) =
seq {mientras que no rdr.EndOfStream
produzca rdr.ReadLine ()}
Pequeña y agradable función para leer un archivo en una secuencia línea por línea en F #.
fuente