スマイル!ただ笑って


14

Brainf * ckがコルモゴロフの複雑さの問題に非常に悪いことはよく知られています。たとえば、「He​​llo world」を印刷するには約100文字が必要です。

ただし、Brainf * ckが非常に得意なテキストがあるかもしれません。

ここでのタスクは、入力を受け取らないプログラムを作成することで、次のように表示されます。

つまり、スマイリーフェイス(ブラウザーがレンダリングしない場合はASCII 1)。

Brainf * ckは2文字でそれを行うことができます。

+.

それに勝る言語を見つけてみてください!

コンソールが実際にその文字を表示できる(またはフォントに文字が含まれているなど)と想定しています。

最短のコードが優先されます。同じ長さのものがもっとある場合は、最初のものが勝ちますが、他のものも同様に投票します。

編集:すみません、最初の投稿がすぐに届くとは思いませんでした。簡単な編集:言語はチューリング完全でなければなりません!


4
出力の説明に異議を唱える必要があります。コードは実際にバイナリコード1の文字を出力しますが、ASCIIエンコードではなく、CP850やCP437などのDOSコードページエンコーディングに属します。モダン== UTF-8であるため、現代のコンソールではスマイリーは表示されません。☺–
スヴェン

回答:


10

偽(2)

1,

BFについて読んだすべてが報われました!FalseはBrainfuckの祖先です。


痛い!これまで誰もこれを考えなかったのは奇妙だ。:)
vsz

1
プレーンテキストとhtmlのバージョンは実際にはプログラミング言語で行われていなかったため、これを受け入れなければなりませんでした。
-vsz

私はBLCでそれをやろうとしましたが、BLCを理解することはできません。また、1状態のチューリングマシンでさえ、タプルに4つまたは5つの要素が必要です。
luserはドローグ

19

HTML:

これは実際にはプログラミング言語ではありませんが、可能な限り最短のソリューションです。


1
それはもはやルールに適合しませんが、質問を急いでおり、これを考えていなかったので、私はまだ+1を与えます。
-vsz

この回答のように、代わりにこのphpを呼び出したい場合は、おそらく新しいルールの下では問題ありません。
マット

単に使用しようとすると、PHPはちらつきを出力します
jdstankosky

HTML + CSSで動作しますが、これは新しいルールでは問題ありません。
アダム

@Adámこのチャレンジのルールにはチューリングの完全性が必要ですが、これは投稿したリンクでは証明されません。
pppery

12

Mathematica

ただの楽しみのために...

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

smileys


1
Mmaでは、1つの文字theもそれを行います
ベリサリウス博士

@belisarius ASCIIに変換せずにどのように貼り付けますか?
DavidC

1
私はちょうどそれをコピー&ペーストしました:)
ベリサリウス博士

@belisariusもアイコンを切り取って貼り付けましたが、何らかの理由で完全な形式が表示されました。
DavidC

1
商業価値は約75セントです。数学的な値はzilchです。
DavidC

11

プレーンテキスト、1文字

htmlは多くの状況でやり過ぎだからです。

(はい、ルールが変更されたことを知っています)


プレーンテキストが完全になっていないため、この回答が無効になっています。
pppery

8

C、18文字

Brainf ** kに勝るものではありませんが、Cが取得できるのと同じくらい良いです(推測します)。
リトルエンディアンプラットフォームでのみ動作し、パラメータなしで実行する必要があります。

main(c){puts(&c);}

7

Micronetics System MUMPS 4.4(7文字)

w $c(1)

おたふくかぜ?ああ、恐ろしい...ここでそれを見るとは想像もしていなかった。純粋な衝撃値のためだけに+1!
-vsz

@vszそれは私が知っている唯一のゴルフに適した言語です、それはしばしば最も一般的な言語に
勝っています

5

Brainf * ck(2文字のみ)

+.

もちろん、私はまだ長さ2の解を受け入れます。
vsz

これがどのように機能するか説明してもらえますか?非印刷文字であるASCII 1を出力する必要があります。
nyuszika7h 14年

@ nyuszika7h:多くのコンソールはASCII 1のスマイリーを出力します。
vsz 14年

本当に?私はそのようなコンソールを見たことがない。あいまいな文字セットを使用しているに違いない。
nyuszika7h 14年

5

2文字を超えることはありませんが、次のことを行います。

PHP 11文字。

<?=chr(1)?>

あなたが単にスマイリーをPHPに置くことができると言っている人のために、それは出力されます

コマンドラインでphp.exeを使用して実行するとΓÿǁ、ブラウザに配置されます。☺

機能しませ


また、m0nhawkが行ったHTMLルートを使用することもできます。
ミスターラマ

@GigaWattできません。PHPを使用して意味不明なものを出します。あなたも試しましたか?CLIとブラウザーで試しました。
jdstankosky

私にとってはうまくいきます。 ideone.com/6wYzx9
ミスターラマ

コマンドラインでphp.exeを使用して実行Γÿǁし、ブラウザに配置すると、☺
jdstankosky

2
ファイルの16進ダンプを行うと、それはとして\xE298BAではなく、スマイリー()のUnicode表現として保存されたことがわかります\x01。1 \x01バイトのファイルを手動で作成し、PHPを使用してコマンドラインから実行してみてください。
ラマ氏


4

PHP(1)

技術的には、これは有効なPHPファイルです(Webサーバーが喜んで提供します)。


3

Golfscript、3文字

"☺"

golfscriptの専門家ではありませんが、1文字のみを使用して整数を対応するASCII文字に変換する方法があるとは思わないため、これが取得できる最短のようです


2

J(3文字)

'☺'

コードには適切なフォントが必要です。

ウィキペディアによると

Wingdingsフォントでは、文字「J」はスマイリーフェイスとしてレンダリングされます(これは、asとしてレンダリングされるUnicodeコードポイントU + 263Aとは異なることに注意してください)。


別のバリエーションはu:1です。
ホタル

2

Q / k(9文字)

残念ながら2ではできません。

-1"\001";

私は、より少ない文字で他の笑顔のシンボルを生成したインタープリターの古いバージョンのバグを思い出すようです。私はそれを調べる。

編集:癖を見つけました。Windowsバージョンのインタープリターでのみ動作するようです:

q)1(1b);
☺

2

LaTeX(51/77文字)

ショートソリューション

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

適切なソリューション(でコンパイルlatex main.tex):

\documentclass{book}
\usepackage{wasysym}
\begin{document}
\smiley
\end{document}

純粋なLaTeXはUnicode文字を読み取ることができないため、最初のものは機能しません。奇妙なことに、デフォルトのフォントテーブルにはこの記号が含まれていないため、XeLaTeXでもLuaLaTeXでも機能しません。これを考慮してください:\documentclass{book} \usepackage{fontspec} \setmainfont{DejaVu Sans} \begin{document}☺\end{document}—そして、使用しているレンダリングエンジン(pdfLaTeX)を「良い」ソリューションで指定してください。
アンドレイKostyrka

1

バーレスク-6文字

,1L[sh

説明:

,stdinをポップします。1L[1つをプッシュし、charに変換(コードポイントで)shすることで、きれいな形式に切り替えます。(それ以外の場合は、先頭を印刷します')。


1

Tcl、1

他のものと一緒に☺を表示します。
これはPHPまたは他の言語でも動作するという噂があります。



0

Perl 6(7文字)

say '☺'

シェルプロンプトの混乱を避けるために\ nを歓迎すると想定して、少し規則を曲げています。


4
そのスペース文字が本当に必要ですか?
JB

0

プレーンTeX(5文字):

他の私の答えは、今では普通のTeXで:

☺\bye

純粋なTeXはASCIIのみであるため機能しません。
アンドレイKostyrka


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.