Este es un desafío simple: dada una secuencia de enteros, encuentre la suma de todos los enteros que contiene.
Pero con un giro. Su puntaje es la distancia de Levenshtein entre su código y la siguiente frase (El desafío):
Dado un conjunto de enteros, encuentre la suma de todos los enteros en él.
Puede suponer que no hay líneas nuevas o espacios finales en la entrada.
Ejemplo de entrada / salida:
Input: 1 5 -6 2 4 5
Output: 11
Input: 1 -2 10
Output: 9
Puede encontrar una calculadora en línea para la distancia de Levenshtein aquí: http://planetcalc.com/1721/
Respuestas:
Python, distancia 3
Esto proporciona la función incorporada
sum
, que puede sumar un conjunto comosum({3,5,7})==17
. Las partes restantes se comentan. Esto tiene distancia 3, con 3 ediciones:#
sum
con#
fuente
Julia, distancia
2726¡Sin comentarios!
Esto crea una función llamada
Given
que acepta una matriz y devuelve la suma de sus elementos. Dado que muchos de los componentes integrados de Julia tienen nombres relevantes (pero son irrelevantes para el cálculo aquí), podemos enumerar algunos delimitados con punto y coma. Mientras no sean lo último en la lista, no serán devueltos. La última parte en realidad hace una matriz que contiene la suma y las tres funciones y selecciona el primer elemento, la suma.fuente
Given=(a;set;of=integer; find;th;[sum,of,all,integer, in][])
- "Dado" sigue funcionando igual, pero tiene una distancia de 18.APL, distancia
63Guardado 3 distancias ...? gracias a Dennis!
Esto suma una matriz dada (
+/
). El resto de la oración se agrega al final usando un comentario (⍝
).fuente
{
y⍵}
.+/
Ya es una función válida.GolfScript, 5
Este es un programa completo que no utiliza comentarios (pero muchos noops).
Pruébelo en línea en Web GolfScript .
fuente
R, distancia
373634Sin usar comentarios :)
Tenga en cuenta que hay un espacio al principio.
fuente
Mathematica, distancia 17
Given a set of integers find the sum of all integers in it*0+Total@Input[]
No utiliza ningún comentario o no-ops, sino que declara todas las palabras como variables, y luego las elimina multiplicando por cero.
También tiene la ventaja de ser la única respuesta que realmente toma un conjunto de enteros como entrada.
La entrada
{1,2,3}
proporciona la salida6
como se esperaba.Desafortunadamente, la
Sum
función Mathematica no hace la tarea en la pregunta, por lo tanto, necesita un mayor número de bytes.fuente
Given a set of integers find the sum of all *0+Total@Input[]
distancia 14Java -
4341Lo intenté.
Java: P.
fuente
RProgN , Distancia 2.
En RProgN, a, set, find y sum son todos comandos. Todo lo demás se ignora por defecto en la sintaxis. A empuja el alfabeto a la pila, lo que hará que la suma falle. El conjunto nunca tiene suficientes argumentos, por lo que siempre falla y genera errores. Find tiene el número incorrecto de argumentos o intenta comparar el alfabeto con la pila de entrada, lo que no funciona.
ay set se pueden 'arreglar' eliminando el espacio entre ellos, ya que aset no es una función, por lo que se ignora. Buscar solo tiene un carácter extra insertado al principio, lo que hace que no sea reconocido e ignorado. Solo queda la suma, que convenientemente suma el contenido de la pila de entrada.
¡Finalmente, RProgN podría ganar algo!
Pruébalo en línea!
fuente
CJam,
765Esta es una función anónima que saca una matriz de la pila y deja un entero a cambio.
Gracias a @AboveFire por acortar la distancia en 1.
Pruébalo en línea.
fuente
Matlab, distancia
2928Sin usar ningún comentario :-)
El código tiene la forma de una función anónima. Supongo que la entrada es un vector (matriz 1D) de números.
Ejemplo:
fuente
O , 5
Los números deben estar en hexadecimal y en notación negativa inversa:
Pruébalo en línea
fuente
K,
605Supongo que los símbolos NO van bien con la distancia Leve, cualquiera que sea ...Jajaja. Originalmente, tenía ninguna lo fue la distancia LeveXXX, así que tuve 60. Luego, gracias a los comentarios de votos, se redujo a 5.
fuente
F #, distancia 21
Tengo que amar la capacidad de usar marcas dobles para dar un nombre a una función con espacios en ella.
Uso:
fuente
Pip, distancia 3
Unirse al club de respuestas triviales sin comentarios pero con muchas opciones de golflang ...
Repositorio de GitHub para Pip
El código prácticamente se documenta a sí mismo; quizás
s/in/using/
para una descripción más precisa. Los enteros dados como argumentos de línea de comandos se leen en la listag
, que aquí se pliega al agregarse y el resultado se imprime automáticamente. Casi todo lo demás son solo variables, que son no-ops.Al principio me sorprendió un poco que
s, f
funcionase sin quejarme, ya que sef
refiere a la función principal y no tiene sentido tomar el rango de un bloque de código. Pero luego me di cuenta: el,
operador de rango, cuando se le da un argumento de función, simplemente construye otra función (como hacen muchos operadores en Pip). Entonces creo ques, f
evalúa a{Given a set of integers, find the sum of all integers in " ",$+g}
. (Que luego se descarta de todos modos).Un último punto: este código funciona con la versión actual de Pip, en la que todavía no he asignado
G
nada. Si en alguna versión futura hagoG
un operador binario o ternario, entonces sería necesaria una versión de distancia 4. Usar engiven
lugar deGiven
funcionaría bien.fuente
Haskell, distancia 11
¡Sin comentarios!
Uso:
fuente
Cubix , Distancia 9
Pruébalo en línea!
Esto envuelve el cubo
El código operativo es
I+i
Ingrese un número entero, agregue a TOS y luego ingrese un carácter?
Prueba de valor de caracteres. Redireccionar a la izquierda para -1 (final de entrada) o a la derecha para cualquier otra cosa (no se puede ingresar 0);O@
pop TOS, suma de salida y salida<;u
redirigir, pop TOS y girar en U al iniciofuente
Pyth - 4
Simplemente pone el código real,
sQ
delante de la cadena sin abrir por un espacio.Pruébelo en línea aquí .
fuente
PHP4.1, distancia 25
Este es bastante largo y muy tarde en la carrera.
Pero de todos modos, aquí está:
Para que esto funcione, solo necesita pasarle una matriz sobre POST / GET / COOKIE / session, usando la tecla
f_all_integers_in_i
.fuente
Pyt , distancia 1
Todos los caracteres alfanuméricos son no operativos en Pyt, y la suma de una lista solo tiene un carácter: Ʃ
Pruébalo en línea!
fuente
C ++ 17, distancia
4429Lambda Genérico Variadic FTW
Solución previa
fuente
05AB1E, distancia 3
Pruébalo en línea!
fuente
Pyke , Puntuación 3
Pruébalo aquí!
fuente
Ly , puntaje 4
Tenga en cuenta la nueva línea final.
Pruébalo en línea!
El código se explica por sí mismo.
&+
es el operador sumador de Ly, mientras que#
es un comentario. Es lamentable que tenga que incluir una nueva línea final debido al hecho de que finalizar un programa con una línea de comentarios "comentará" la salida implícita de Ly, que en realidad es un error en el intérprete al que llamo una característica.fuente
dc, 14
comentarios:
TIO
se queja de que la pila está vacía si ingresa 1 número, pero aún funciona, y la eliminación de 0 guarda 2 diff.
fuente
Excel VBA, Distancia: 11
Función de ventana inmediata anónima de VBE que toma la entrada del rango
[a:a]
en el objeto ActiveSheet y las salidas a la ventana inmediata de VBEfuente
Brain-Flak , 20
Pruébalo en línea!
Explicación
Como no hay paréntesis en el texto original, esto se reduce a un código de golf problema de en Brain-Flak. Pero eso todavía no hace que esta respuesta sea trivial, ya que las respuestas en Brain-Flak rara vez lo son.
La primera intuición probablemente sería el siguiente código
Lo que funciona ... a menos que haya un cero en la pila, en cuyo caso solo suma hasta el cero. Para solucionar este problema, tenemos que usar una altura de pila para verificar que la pila no esté vacía. Esto se puede configurar así
Este funciona, pero hay algo mal con él. Seguimos silenciando los pops y los empujes en los bucles, pero son casi iguales, por lo que debería haber una forma de cancelarlos. Si lo intentamos
Terminamos por
n
cada vez. Así que aquí está el truco, ya tenemos unan
ubicación, simplemente lo movemos al impulso para equilibrar las cosas.fuente
2^8
respuesta de ppcgAdelante , 17
Pruébalo en línea!
fuente
Jalea , Distancia: 2
Pruébalo en línea!
Jelly solo evalúa el enlace principal (la última línea) y los comandos explícitos ejecutarán otros enlaces (otras líneas).
La última línea tiene
S
, que suma la entrada.La primera línea no se ejecuta porque no hay ninguna referencia en el enlace principal.
fuente
¡Chasquido! 4.2.2.9 (+ Herramientas), sintaxis scratchblocks3, distancia 35
Esta es una función.
integers, find the sum of all inte
es la entradafuente
integers, find the sum of all inte
es un argumento, simplemente no se distingue de las variables regulares en la sintaxis scratchblocks3, por lo que aclaré