¡Sonrisa! Sólo sonríe

15

Es bien sabido que Brainf * ck es muy malo para los problemas de complejidad de Kolmogorov, por ejemplo, requiere alrededor de 100 caracteres solo para imprimir "Hola mundo".

Sin embargo, puede haber textos en los que Brainf * ck es muy bueno.

Su tarea ahora es escribir un programa que no tenga entrada y muestre lo siguiente:

Es decir, una cara sonriente (ASCII 1, si su navegador no lo muestra).

Brainf * ck puede hacerlo en 2 caracteres.

+.

¡Intenta encontrar un idioma que lo supere!

Asumimos que su consola realmente puede mostrar ese carácter (o su fuente lo tiene, etc.).

El código más corto gana. Si hay más de la misma longitud, el primero gana, pero también votaré a los demás.

EDITAR: Lo siento mucho, no pensé que la primera publicación llegara tan pronto. Una edición rápida: ¡el lenguaje tiene que ser Turing completo!

vsz
fuente
44
Debo cuestionar su descripción de la salida: si bien su código realmente genera un carácter con el código binario 1, no está codificado en ASCII, pero pertenece a alguna codificación de página de códigos de DOS como CP850 o CP437. En cualquier consola moderna, el smiley no aparecerá, porque moderno == UTF-8. ☺
Sven

Respuestas:

10

FALSO (2)

1,

¡Toda esa lectura sobre BF valió la pena! False es un antepasado de Brainfuck.

luser droog
fuente
¡Ay! Es extraño que nadie haya pensado en esto hasta ahora. :)
vsz
1
Tuve que aceptar este, ya que las versiones con texto plano y html en realidad no se hicieron con lenguajes de programación.
vsz
Traté de hacerlo con BLC, pero BLC no tiene ningún sentido. E incluso una máquina Turing de 1 estado necesita 4 o 5 elementos en la tupla.
luser droog
19

HTML:

No es realmente un lenguaje de programación, sino la solución más corta posible.


fuente
1
Si bien ya no se ajusta a las reglas, aún daré un +1 porque estaba apurando mi pregunta y no pensé en esto.
vsz
Si desea llamar a este php en su lugar, como esta respuesta, probablemente estaría bien según las nuevas reglas.
Matt
PHP generará galimatías si simplemente intentas usarlo .
jdstankosky
Funciona en HTML + CSS, lo cual está bien bajo las nuevas reglas.
Adám
@ Adám Las reglas para este desafío requieren la integridad de Turing, que el enlace que publicaste no prueba.
pppery
12

Mathematica

Solo por diversión...

"\[HappySmiley]"
"\[NeutralSmiley]"
"\[SadSmiley]"
"\[FreakedSmiley]"

emoticonos

DavidC
fuente
1
En Mma, el único personaje ☺ también lo hace
Dr. belisario
@belisarius ¿Cómo se pega sin convertirlo a ASCII?
DavidC
1
Acabo de pegarlo :)
Dr. belisarius
@belisarius También corté y pegué los iconos, pero por alguna razón se mostró el formato completo.
DavidC
1
El valor comercial es de aproximadamente 75 centavos. El valor matemático es cero.
DavidC
11

texto plano, 1 carácter

Porque html es una exageración en muchas situaciones.

(sí, sé que las reglas han cambiado)

conejo bebé
fuente
el texto plano no se está completando, por lo que esta respuesta no es válida.
pppery
8

C, 18 caracteres

Lejos de vencer a Brainf ** k, pero tan bueno como C puede llegar (supongo).
Solo funciona en plataformas little-endian, debe ejecutarse sin parámetros.

main(c){puts(&c);}
Ugoren
fuente
7

Sistema de Micronetics MUMPS 4.4 (7 caracteres)

w $c(1)
DaveShaw
fuente
¿PAPERAS? Oh, el horror ... Nunca imaginé que lo vería aquí. ¡+1 solo por el valor de shock puro!
vsz
@vsz es el único lenguaje adecuado para Golf que conozco, a menudo supera a los idiomas más comunes :)
DaveShaw
5

Brainf * ck (solo 2 caracteres)

+.
vsz
fuente
Por supuesto, todavía me acepto una solución de longitud 2.
vsz
¿Podría explicar cómo funciona esto? Debería mostrar ASCII 1, que es un carácter no imprimible.
nyuszika7h
@ nyuszika7h: muchas consolas muestran un smiley para ASCII 1.
vsz
De Verdad? Nunca he visto una consola así. Apuesto a que usan algunos caracteres oscuros.
nyuszika7h
5

No supera los 2 caracteres, pero:

PHP 11 caracteres.

<?=chr(1)?>

Para todos los que digan que simplemente pueden colocar el smiley en php y generará :

Ejecutarlo con php.exe en la línea de comando da Γÿǁy colocarlo en el navegador da☺

No , no funciona.

jdstankosky
fuente
También puede seguir la ruta HTML que hizo m0nhawk.
Sr. Llama
@GigaWatt No puedes. Lanza galimatías usando PHP. ¿Lo intentaste siquiera? Lo probé en la CLI y el navegador.
jdstankosky
Funciona bien para mi. ideone.com/6wYzx9
Mr. Llama
Ejecutarlo con php.exe en la línea de comando da Γÿǁy colocarlo en el navegador da☺
jdstankosky
2
Si realiza un volcado hexadecimal de su archivo, verá que se guardó como representación unicode de un smiley ( \xE298BA), no como \x01. Intente hacer manualmente un archivo con un solo \x01byte y ejecútelo desde la línea de comandos con PHP.
Sr. Llama
5

DC - 2 caracteres

1P

No requiere ninguna explicación.

Fors
fuente
4

PHP (1)

Técnicamente, este es un archivo PHP válido (un servidor web lo servirá).

Peter C
fuente
3

Golfscript, 3 caracteres

"☺"

No soy un experto en golfscript, pero no creo que haya una manera de convertir un número entero en el carácter ASCII correspondiente utilizando solo 1 carácter, por lo que parece que es lo más corto que puede ser

Strigoides
fuente
2

J (3 caracteres)

'☺'

El código requiere una fuente apropiada.

De acuerdo con Wikipedia

En la fuente Wingdings, la letra "J" se representa como una cara sonriente (tenga en cuenta que esto es distinto del punto de código Unicode U + 263A, que se representa como ☺).

P̲̳x͓L̳
fuente
Otra variación es u:1.
FireFly
2

Q / k (9 caracteres)

No puedo hacerlo en 2 por desgracia.

-1"\001";

Parece recordar un error en una versión anterior del intérprete que producía el otro símbolo de sonrisa en menos caracteres. Lo buscaré.

Editar: encontró el capricho. Parece que solo funciona en versiones de Windows del intérprete:

q)1(1b);
☺
skeevey
fuente
2

LaTeX (51/77 caracteres)

Solución corta

\documentclass{book}
\begin{document}
☺
\end{document}

Buena solución (compilar con latex main.tex):

\documentclass{book}
\usepackage{wasysym}
\begin{document}
\smiley
\end{document}
Martin Thoma
fuente
El primero no funciona porque LaTeX puro no puede leer caracteres unicode. Curiosamente, esto no funciona ni en XeLaTeX ni en LuaLaTeX porque la tabla de fuentes predeterminada no contiene este símbolo. Tenga esto en cuenta: \documentclass{book} \usepackage{fontspec} \setmainfont{DejaVu Sans} \begin{document}☺\end{document}- y especifique el motor de renderizado que está utilizando (pdfLaTeX) en la solución "buena".
Andreï Kostyrka
1

Burlesque - 6 personajes

,1L[sh

Explicación:

,aparece stdin. 1L[empuja uno y convertir a char (por codepoint) shse utiliza para cambiar a formato bonito. (De lo contrario, imprimiría un encabezado ').

mroman
fuente
1

Tcl, 1

Muestra un ☺ con algunas otras cosas.
Hay rumores de que esto también funciona con PHP u otros lenguajes.

Johannes Kuhn
fuente
1

Arduino, 24

char a=1;Serial.print(a)
Timtech
fuente
0

Perl 6 (7 caracteres)

say '☺'

Doblo un poco las reglas al suponer que a \ n es bienvenido para evitar el desorden del shell shell.

gfldex
fuente
44
¿Estás seguro de que necesitas ese personaje espacial?
JB
0

TeX simple (5 caracteres):

Otro mi respuesta, ahora en TeX simple:

☺\bye

fuente
No funciona porque TeX puro es solo ASCII.
Andreï Kostyrka
0

JavaScript, 10 bytes

alert("☺")

ingrese la descripción de la imagen aquí

Pete Arden
fuente
0

SmileBASIC, 3 personajes

?"☺

​​

12Me21
fuente