Tersenyum! Hanya tersenyum

14

Sudah diketahui bahwa Brainf * ck sangat buruk dalam masalah kompleksitas-Kolmogorov, misalnya, membutuhkan sekitar 100 karakter hanya untuk mencetak "Halo dunia".

Namun, mungkin ada teks di mana Brainf * ck sangat bagus.

Tugas Anda sekarang adalah menulis sebuah program yang tidak membutuhkan input, dan program ini menampilkan yang berikut:

Yaitu, wajah tersenyum (ASCII 1, jika peramban Anda tidak membuatnya).

Brainf * ck dapat melakukannya dalam 2 karakter.

+.

Cobalah untuk menemukan bahasa yang tepat!

Kami menganggap konsol Anda benar-benar dapat menampilkan karakter itu (atau font Anda memilikinya, dll.).

Kode terpendek menang. Jika ada lebih banyak dari panjang yang sama, yang pertama menang, tetapi saya akan membesarkan yang lain juga.

EDIT: Saya sangat menyesal, saya tidak berpikir posting pertama tiba segera ini. Edit cepat: bahasanya harus lengkap Turing!

vsz
sumber
4
Saya harus menyengketakan deskripsi Anda tentang output: Walaupun kode Anda benar-benar menampilkan karakter dengan kode biner 1, itu bukan ASCII-encoded, tetapi milik beberapa encoding codepage DOS seperti CP850 atau CP437. Di konsol modern mana pun smiley tidak akan muncul, karena modern == UTF-8. ☺
Sven

Jawaban:

10

SALAH (2)

1,

Semua yang membaca tentang BF terbayar! Salah adalah leluhur Brainfuck.

luser droog
sumber
Aduh! Aneh bahwa tidak ada yang memikirkan hal ini sampai sekarang. :)
vsz
1
Saya harus menerima yang ini, karena versi dengan teks biasa dan html sebenarnya tidak dilakukan dengan bahasa pemrograman.
vsz
Saya mencoba melakukannya dengan BLC, tetapi saya tidak dapat memahami BLC. Dan bahkan mesin Turing 1-negara membutuhkan 4 atau 5 elemen dalam tuple.
luser droog
19

HTML:

Ini bukan benar-benar bahasa pemrograman, tetapi solusi sesingkat mungkin.


sumber
1
Meskipun tidak lagi sesuai dengan aturan, saya masih akan memberi +1 karena saya terburu-buru pertanyaan saya dan tidak memikirkan hal ini.
vsz
Jika Anda ingin memanggil php ini sebagai gantinya, seperti jawaban ini , mungkin akan baik-baik saja di bawah aturan baru.
Matt
PHP akan menampilkan omong kosong jika Anda hanya mencoba menggunakannya .
jdstankosky
Bekerja dalam HTML + CSS, yang tidak apa-apa di bawah aturan baru.
Adám
@ Adám Aturan untuk tantangan ini membutuhkan Turing Completeness, yang tidak dibuktikan oleh tautan yang Anda posting.
pppery
12

Mathematica

Hanya untuk bersenang-senang...

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

smiley

DavidC
sumber
1
Di Mma, satu karakter ☺ juga melakukannya
Dr. belisarius
@belisarius Bagaimana cara Anda menempel tanpa mengubahnya menjadi ASCII?
DavidC
1
Saya baru saja menyalin-menempelkannya :)
Dr. belisarius
@belisarius Saya juga memotong & menempel ikon, tetapi untuk beberapa alasan format penuh ditampilkan.
DavidC
1
Nilai komersialnya sekitar 75 sen. Nilai matematika adalah nihil.
DavidC
11

teks biasa, 1 char

Karena html adalah pembunuhan berlebihan dalam banyak situasi.

(ya, saya tahu aturannya telah berubah)

bayi-kelinci
sumber
teks biasa tidak berubah lengkap, menjadikan jawaban ini tidak valid.
pppery
8

C, 18 karakter

Jauh dari mengalahkan Brainf ** k, tapi sebagus C bisa (kurasa).
Hanya berfungsi pada platform little-endian, harus dijalankan tanpa parameter.

main(c){puts(&c);}
ugoren
sumber
7

Sistem Micronetics MUMPS 4.4 (7 karakter)

w $c(1)
DaveShaw
sumber
PENYAKIT GONDOK? Oh, kengeriannya ... Aku bahkan tidak pernah membayangkan akan melihatnya di sini. +1 hanya untuk nilai kejut murni!
vsz
@vsz itu satu-satunya bahasa yang cocok untuk Golf yang saya tahu, sering kali mengalahkan bahasa yang paling umum :)
DaveShaw
5

Brainf * ck (hanya 2 karakter)

+.
vsz
sumber
Tentu saja, saya masih akan menerima solusi panjang 2.
vsz
Bisakah Anda menjelaskan cara kerjanya? Ini harus menghasilkan ASCII 1 yang merupakan karakter yang tidak dapat dicetak.
nyuszika7h
@ nyuszika7h: banyak konsol mengeluarkan smiley untuk ASCII 1.
vsz
Betulkah? Saya belum pernah melihat konsol seperti itu. Saya yakin mereka menggunakan charset yang tidak jelas.
nyuszika7h
5

Tidak mengalahkan 2 karakter, tetapi:

PHP 11 karakter.

<?=chr(1)?>

Untuk semua orang yang mengatakan, Anda cukup menempatkan smiley di php dan itu akan menampilkan :

Menjalankannya dengan php.exe di baris perintah memberi Γÿǁdan menempatkannya di browser memberi☺

Itu tidak bekerja.

jdstankosky
sumber
Anda juga bisa membuka rute HTML yang dilakukan m0nhawk.
Tn. Llama
@ GigaWatt Anda tidak bisa. Itu mengeluarkan omong kosong menggunakan PHP. Apakah Anda pernah mencobanya? Saya mencobanya di CLI dan browser.
jdstankosky
Bekerja dengan baik untuk saya. ideone.com/6wYzx9
Mr. Llama
Menjalankannya dengan php.exe di baris perintah beri Γÿǁdan letakkan di browser beri☺
jdstankosky
2
Jika Anda melakukan hex dump dari file Anda, Anda akan melihat bahwa file itu disimpan sebagai representasi unicode dari smiley ( \xE298BA), bukan sebagai \x01. Coba buat file secara manual dengan satu \x01byte di dalamnya dan jalankan dari baris perintah dengan PHP.
Tn. Llama
5

DC - 2 karakter

1P

Itu tidak memerlukan penjelasan apa pun.

Untuk S
sumber
4

PHP (1)

Secara teknis ini adalah file PHP yang valid (server web akan dengan senang hati menyajikannya).

Peter C
sumber
3

Golfscript, 3 karakter

"☺"

Bukan ahli skrip golf, tapi saya tidak percaya ada cara untuk mengubah integer menjadi karakter ASCII yang sesuai hanya menggunakan 1 karakter, jadi sepertinya ini adalah yang terpendek yang bisa didapat

Strigoides
sumber
2

J (3 karakter)

'☺'

Kode membutuhkan font yang sesuai.

Menurut Wikipedia

Dalam font Wingdings, huruf "J" diberikan sebagai wajah yang tersenyum (perhatikan ini berbeda dari titik kode Unicode U + 263A, yang diterjemahkan sebagai ☺).

P̲̳x͓L̳
sumber
Variasi lain adalah u:1.
FireFly
2

Q / k (9 karakter)

Sayangnya, tidak bisa melakukannya dalam 2.

-1"\001";

Saya sepertinya ingat bug dalam versi yang lebih lama dari juru bahasa yang menghasilkan simbol senyum lain dalam karakter yang lebih sedikit. Saya akan mencarinya.

Sunting: ditemukan kekhasannya. Tampaknya hanya berfungsi pada interpreter versi windows:

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

LaTeX (51/77 karakter)

Solusi singkat

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

Solusi yang bagus (Kompilasi dengan latex main.tex):

\documentclass{book}
\usepackage{wasysym}
\begin{document}
\smiley
\end{document}
Martin Thoma
sumber
Yang pertama tidak berfungsi karena LaTeX murni tidak dapat membaca karakter unicode. Anehnya, ini tidak berfungsi baik di XeLaTeX, maupun di LuaLaTeX karena tabel font default tidak mengandung simbol ini. Silakan pertimbangkan ini: \documentclass{book} \usepackage{fontspec} \setmainfont{DejaVu Sans} \begin{document}☺\end{document}- dan harap tentukan mesin rendering yang Anda gunakan (pdfLaTeX) dalam solusi "baik".
Andreï Kostyrka
1

Burlesque - 6 Karakter

,1L[sh

Penjelasan:

,muncul stdin. 1L[mendorong satu dan mengkonversi ke char (dengan codepoint) shdigunakan untuk beralih ke format cantik. (Kalau tidak, itu akan mencetak pemimpin ').

mroman
sumber
1

Tcl, 1

Menampilkan ☺ dengan beberapa hal lain.
Ada desas-desus bahwa ini juga berfungsi dengan PHP atau bahasa lain.

Johannes Kuhn
sumber
1

Arduino, 24

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

Perl 6 (7 karakter)

say '☺'

Saya sedikit menekuk aturan dengan mengasumsikan bahwa \ n dipersilakan untuk menghindari kekacauan shell prompt.

gfldex
sumber
4
Anda yakin membutuhkan karakter luar angkasa itu?
JB
0

TeX polos (5 karakter):

Lain jawaban saya, sekarang di TeX:

☺\bye

sumber
Tidak berfungsi karena TeX murni hanya ASCII.
Andreï Kostyrka
0

JavaScript, 10 Bytes

alert("☺")

enter image description here

Pete Arden
sumber
0

SmileBASIC, 3 karakter

?"☺

​​

12Me21
sumber