Tarea
Cree un programa que calcule el factorial de un número sin utilizar funciones factoriales integradas. ¿Fácil? El problema es que debe escribir todo su programa (incluida la prueba) en forma de haiku .
Puedes usar tantos haikus como necesites, pero cuando se pronuncian, deben seguir el formato de sílaba 5-7-5.
Puntuación
Este es un concurso de popularidad , por lo que debes obtener la mayor cantidad de votos para ganar. Su programa debe constar de al menos un haiku completo, y todos los haikus deben estar completos.
Al leer el código, la primera línea de cada haiku tendrá 5 sílabas, la segunda tendrá 7 y la tercera tendrá 5.
popularity-contest
TheDoctor
fuente
fuente
then
o la puntuación podría ayudar en el corte. Para kigo , no estoy tan seguro ...Respuestas:
Charla
(evaluar en un espacio de trabajo; abre un cuadro de diálogo, solicita un número e imprime el resultado en stdout):
Traté de traer algo de reflexión ("en este poema") y kigo también. Además, se incluyen algunos elementos de rima de estilo occidental (por favor-> estos, tiempo-> rima); sin embargo, al no ser hablante nativo de japonés ni de inglés, perdona los detalles estilísticos ;-)
fuente
Haskell
Tiempo de educación de Haskell:
range x
función crea una lista de enteros desde 1 hasta el valor dex
.fact x
función multiplica todos los valores de la listarange x
para calcular el resultado.fact
función toma un número entero y devuelve un número entero.fuente
range x is 1 to x
son 6 sílabas aunqueJava - 2 haikus
Incluso cuando la pregunta no es el golf de código , a menudo me encuentro jugando la respuesta. En este caso, jugué al golf el número de haikus.
Lo pronuncio así:
Programa de prueba:
Tenga en cuenta que este programa comienza a generar
0
s rápidamente; eso es resultado del desbordamiento. Puede obtener fácilmente números correctos más grandes cambiando cada unoint
along
.Las pronunciaciones estándar para
System.out.println
ypublic static void main(String[] args)
se reflejan en el programa.fuente
APL
fuente
factorial←×/⍳
"hasta la entrada".Shakespeare
Un caso de prueba (imaginado):
A pesar de su longitud, este programa solo toma un solo entero como entrada y proporciona un solo entero como salida. Entonces:
("Seis, siete y veinte. / Siete, cinco mil cuarenta. / Cero, uno. Uno, uno.")
fuente
Pitón 2, 4 Haikus
Un programa completo de Python 2
haifac.py
. Correr comopython haifac.py <n>
Pronunciación:
fuente
#to me at once
para hacer que el medidor funcione ...GolfScript, 2 Haikus
Lea como haiku, enumerando cada pulsación de tecla:
Con caso de prueba (5 haikus):
Leer como haiku:
fuente
Adelante
Fugu es la función y mi intento de kigo : el pez globo es una referencia invernal. Tengo la intención
?do
de ser kireji , el punto de inflexión, antes del bucle contado.fuente
PHP, 4 haikus
¡Haikus todo en rima !
fuente
return plus plus stun
.Espacio en blanco
Esto hace uso de uno de los más famoso haiku s, y mucho se ha escrito sobre él.
No tengo idea de por qué nadie ha hecho esto antes, ¡ ni siquiera requiere esfuerzo!
Antes que nada, antes de leer el poema, quiero que te recuestes, te relajes y disfrutes de la tranquilidad creada por el gran vacío que rodea el poema. Destaca el estanque, rodeado de un vasto paisaje.
código fuente en filebin
En caso de que no hable japonés, esto se pronuncia de la siguiente manera:
Naturalmente, se cuenta por morae. El kireji es や ( ya ) , el kigo (referencia estacional) es 蛙 ( kawazu , rana, -> primavera) .
Usando el intérprete de Linux de la página oficial, puede usarlo así:
fuente
Mathematica
Los pendientes pueden leer la última línea como "f de 1 es 1", pero no pude resistir el saludo a Basho.
Pruebas:
Volviendo:
Bonus de distinción lingüística Haiku (inspirado en @cormullion)
fuente
Lote
pronunciación ; ignora las expresiones matemáticas y estos símbolos
@ / % ^ , ( )
:Nota; esto calcula el factorial, no lo genera, la variable
t
contiene el factorial.El siguiente código / Haiku se puede agregar al mismo archivo por lotes para generar el factorial (los
|
's se pronuncian como tubería):fuente
Clojure
fuente
F#
fuente
nuevoLISP
Los paréntesis no se pronuncian:
fuente
Perl
Mezcle esto en un archivo llamado
f.pl
Y la salida:
Que se lee como:
fuente
LiveScript
Este es medieval:
Impresiones
3628800
, que es10!
. Es una pequeña rotonda: la funciónstory
devuelve una funciónones-misery
, que siempre devuelve la respuesta. Es más artístico de esa manera.¡Sin comentarios de relleno ni cadenas innecesarias!
Historia de depuración de bonificación:
fuente
Haskell
¡Este será un haiku que rima !
¡Sí!
Nota: Pred significa el número anterior. También en haskell, puede tener múltiples definiciones de una función, y se usa la primera que tiene sentido.
fuente
Ruby - Un Haiku
Lea (ignorando la puntuación, pero incluyendo un emoticón) como este:
fuente
En SML:
leído como:
fuente
Perl
Sé que está en contra de las reglas usar funciones listas para usar, pero esto es lo que obtengo.
Imagine que su tarea es instruir a un roedor de gran tamaño:
Solo puedo adivinar qué significa la última palabra y cómo se pronuncia, pero te aseguro que es una sílaba. Aparentemente, él no entiende lo que quieres de él, por lo que debes elaborar (suavizando los estándares de calidad a medida que pierdes la paciencia):
aún en vano. Luego tienes que explicarlo en inglés simple:
Lo que sucedió después no lo sé, pero el código es válido:
y
y
fuente
Pitón
La forma en que lo leo:
``
fuente
C
Pronunciación:
la libra incluye el
punto h estándar de E / S la libra incluye
el punto h lib estándar
int main int arg c
coma char star star arg v
abrir paréntesis comentario
calcular iterativamente factorial aquí
largo int n es igual
coma cero i
es igual a coma cero r
es igual a un comentario
el producto comienza en un
punto y coma si arg c
es mayor que uno
abra la llave n es
str-to-l de arg v sub
una coma NULL coma diez
punto y coma si
n menos que cero comienza
printf arg must
ser mayor o
igual a cero barra invertida
n punto y coma
salir negativo
un punto y coma final de la llave de la
llave de la esquina i es igual
n punto
y coma mientras abro la llave r
es igual a r veces i
punto y coma
decremento punto y coma
cierre corsé comentario imprimir
el resultado printf
porcentaje d factorial
es igual a porcentaje d
whack n coma n
coma punto y coma
comentario hecho fin llave
fuente
#
carácter se pronuncia típicamente agudo u octoporpo en el código C.C # - 3 haikus
Eliminé el C # habitual usando, el espacio de nombres y el desorden de definición de clase, que sería un cuarto haiku.
que leí como
fuente
Haskell
tenga en cuenta que el módulo ... donde se agrega automáticamente a cualquier código de Haskell sin él en la compilación, por lo que no escribirlo es prácticamente una trampa.
fuente
do
y no tenía que ser asíMonad a => a
.JAVA:
En respuesta a la pregunta y al Dwaiku (Double-Haiku o como quieras llamarlo) publicado por Quincunx en Java, aquí está el Haiku correcto:
fuente
Javascript - Dos Haikus
No soy un hablante nativo. Entonces, usé un diccionario para contar las sílabas. Con suerte, es lo suficientemente bueno. Cualquier comentario es bienvenido :)
fuente
Powershell, 2 Haikus
fuente
¿Se nos permite usar relleno?
Python 2 haikus:
fuente
nuum equals length one
?num equals length of the list
hace 7 sílabas en lugar de 5.nuum
confoo
(porque estoy leyendo si como nu-um, lo que lo pone por encima del límite).Befunge-93
Tres haikus:
La última línea es ciertamente un poco engañosa.
Pruebe aquí: http://www.bedroomlan.org/tools/befunge-93-playground
fuente