Su tarea es escribir un programa para imprimir la suma de los códigos ASCII de los caracteres del programa en sí. No está permitido abrir ningún archivo (está prohibida cualquier entrada, como argumentos de línea de comando, entrada estándar o archivos).
El programa que imprime el número más bajo (es decir, tiene la suma más baja de códigos ASCII) gana.
Aquí hay un ejemplo (no el más corto) de dicho programa escrito en C:
#include <stdio.h>
int main(){
printf("4950");/*i*/
return 0;
}
(sin nueva línea después }
)
code-challenge
Alexandru
fuente
fuente
Respuestas:
wc, imprime 0
Alguien dijo "lenguajes felinos", así que ...
Un archivo vacio:
Ejecutar con
wc -c file.wc
. Con 0 bytes, creo que este es el ganador en la categoría 'no es realmente un lenguaje de programación'.también
gato, estampados 80 (base 13)
Sin nueva línea de terminación, el número 80 13 es equivalente a 104 en decimal. Puedes ir más corto con 60 17 (102 dec), pero pensé que "base 13" valdría más puntos geek.
EDITAR: Nuevo
wc
ejemplo, este se puede ejecutar como un programa.(Como se codifica en Latin-1, el ÿ es un byte con valor 255)
La suma de bytes es 2223, la salida es:
fuente
wc -c
está prohibido en la pregunta de todos modos.0 0 0
(si el archivo que se pasa como un archivo lo prohíbe, entonces todos los lenguajes de secuencias de comandos son también prohibido)wc
, -1 para hacer trampa base, +1 para hacer bromas en base 13.wc
es una aplicación, no un idioma.PHP, m4 y otros lenguajes tipo gato: 150
Encontré esta solución usando un programa simple de Haskell para forzarlo:
fuente
5!
en J.5!
es 86, no 125.Brainf * ck, 255
Esto no imprimirá el número 255, sino el 255 ° carácter ASCII.
Esto podría considerarse trampa porque el compilador BF omite el ¤.
fuente
¤
sea una trampa, ya que es solo un comentario normal.Javascript, imprime
94326902Esta es la primera solución quine hasta ahora, a menos que no entienda la solución Haskell correctamente.
fuente
(function a(){b="("+a+")()";for(i=c=0;i<b.length;i++)c+=b.charCodeAt(i-0);alert(c)})()
Potencia Shell
impresiones 310.
fuente
Perl, 500
Hay dos pestañas entre
say
y500
. :)(Corre con una sola línea
perl -E
, por lo que puedo decir, esto está dentro de las reglas)fuente
Ruby, impresiones 380
No hay nueva línea final después del paréntesis de cierre.
fuente
Potencia Shell
imprime 230, obviamente.
fuente
Potencia Shell
impresiones 320.
fuente
J 150
Con la advertencia de que será correcto solo 1/720 del tiempo.
fuente
Python, impresiones 781
Dos espacios
fuente
Element, 220
Este es un lenguaje de mi propia creación, y está documentado en mi respuesta a otra pregunta aquí .
Aquí hay un tutorial de cómo funciona:
220
empuja ese número a la pila. Luego, ``outputs the top element of the stack. The
! 'Realiza una lógica no en la pila de control (una pila separada), configurándola en 1.fuente
PHP, imprime 4440
fuente
PowerShell, imprime 3902
Busca en la línea actualmente ejecutada y suma los valores de los puntos de código.
fuente
INTERCAL, 1572
¡No puedo creer que nadie haya hecho INTERCAL todavía!
(Incluye nueva línea de terminación). Este programa imprime MDLXXII.
fuente
Perl, imprime 690
O, si podemos publicar one-liners (
perl -E
)Impresiones 570.
(No hay nuevas líneas finales)
fuente
JavaScript
1750 900 860790alert(790)
(Devolución de carro (CR,
\r
o\x0D
) después o antes del programa)Estos programas se encuentran por fuerza bruta.
Valores más grandes:
fuente
Java -128
Sé que leer stdin no está permitido, pero quería proporcionar un ejemplo de cómo calculé mi puntaje.
Mi código resume el recuento ASCII de sí mismo pasado en stdin e imprime -128
Sin nueva línea final
fuente
Ruby, imprime 300
Hay un espacio y una pestaña entre el
p
y el300
. Sin nueva línea final.fuente
Archivos por lotes, 500
Además, observe los dos espacios entre "ECHO" (mayúsculas a propósito) y "500".
fuente
C, 1700
Extraño: nadie ha publicado una solución C todavía (excluyendo el ejemplo en la pregunta).
No hay línea nueva al final.
fuente
K (
923 796 795 746513)No estoy seguro de si esto cae en conflicto con las reglas o no. No usa stdin, se abre como un vector de bytes y sumas.
Uso:
editar 2012.05.08 - no es necesario hsym el identificador de archivo 2012.05.09 - guardado 1 punto al convertir en byte en lugar de int
2012.05.17 - Puede guardar una carga de puntos leyendo el archivo como bytestream en lugar de texto:
fuente
J, 198
y
Lo encontré por la fuerza bruta. En J no hay soluciones de 1 o 2 caracteres, y la única solución de 3 caracteres es
150
. Salvo cualquier error en mi búsqueda, tampoco hay otras soluciones de 4 caracteres.Desde el canal #jsoftware IRC, también tuvimos
<.%:10!20
429 y una quine de conteo automático+/a.i.2#(,{:)'+/a.i.2#(,{:)'''
en 1706.fuente
aC 1160
invocado con eco y espacios en blanco, toda la cadena, incluidos 7 espacios en blanco,
echo 1160 | bc
tiene un bytes de 1160.150 funciona para bc también:
fuente
D, 9752
este en realidad lo calcula similar a mi quine
fuente
Espacio en blanco, 369
Este programa de 20 caracteres imprime el número 369, que es la suma de los valores ascii de sus caracteres (que son caracteres Tab, Space, Linefeed, aquí simbolizados por T, S, L, respectivamente):
(369 = 7 * 9 + 8 * 32 + 5 * 10, habiendo 7 pestañas, 8 espacios y 5 avances de línea).
fuente
Haskell, 7518
Una pequeña modificación de mi quine :
fuente
Brainf * ck, 253 (o 252)
Ligera mejora en la solución de Peter Olson:
Siempre que se permitan no imprimibles, se puede mejorar aún más agregando ay
-
reemplazandoH
por el código 26 ASCII.fuente
Scala 1090
println (1090)
fuente
Python, 5440
La puntuación más alta gana, ¿verdad?
Solo pensé que lo publicaría de todos modos porque es una solución a medias.
fuente