コードと同じ長さの出力


97

この課題では、入力を受け取らず、プログラム自体と同じバイト数の文字列を出力または返すプログラムまたは関数を作成する必要があります。いくつかのルールがあります:

  • 印刷可能なASCII範囲(0x20〜0x7Eを含む)、または改行(0x0Aまたは0x0D)のバイトのみを出力できます。
  • コードはクインであってはなりません。そのため、コードと出力は少なくとも1バイト異なっていなければなりません。
  • コードは少なくとも1バイトの長さが必要です。
  • 出力に末尾の改行が含まれている場合、それらはバイトカウントの一部です。
  • コードに非標準のコマンドラインフラグが必要な場合は、通常どおりカウントします(つまり、言語の実装の標準呼び出しに違いをバイトカウントに追加することによって)。出力の長さはソリューションのスコアと一致する必要があります。たとえば、プログラムがab非標準フラグ-nを必要としている場合(標準フラグと組み合わせられないため、3バイトであると想定します)、合計5バイトを出力する必要があります。
  • すべての可能な出力が上記の要件を満たしていることを示すことができる限り、出力は常に同じである必要はありません。
  • 通常のクインルール適用されません。ソースコードまたはそのサイズを読むことはできますが、これはほとんどの言語でハードコーディングするよりも短いとは思いません。

プログラムまたは関数を作成し、出力を提供する標準的な方法を使用できます。結果を印刷する場合、標準出力または標準エラーストリームのいずれかに印刷することを選択できますが、カウントされるのはそのうちの1つだけです。

任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。

これはであるため、バイト単位で測定される最短の有効な回答が勝ちます。

リーダーボード



18
「あなたのコードはQUINEあってはならない」しかし...しかし...それがタグ付けされていますQUINE
Okx

4
@Okxそれは一般化されたクインだからです。つまり、必要な出力はソースコードに依存します。
マーティンエンダー

4
@MartinEnderおそらく、終了コードによる出力を禁止する必要があります。これはデフォルトです。それを許可すると、ほぼすべての言語のほぼすべての1バイトプログラムが許可されます。 1人のユーザーが既にこれを行っています
ウィートウィザード

2
終了コードによる@WheatWizardの出力は文字列ではないため、ここでは適用されません。
マーティンエンダー

回答:


204

C(最新のLinux)、19バイト

main(){puts('s');}

コンパイルして実行すると、次のように出力されます。

Segmentation fault

20
これは素晴らしいです:D
ベータ崩壊

4
これは、「C +英語unix / posix OS;)」に似ています
フロリアンカステ

5
「C」よりも「C、modern Linux」を書く方が良いと思います:Windowsではエラーメッセージが異なり、昔はLinuxプログラムはアドレス0x73( 's)が読めるようにコンパイルされていましたそのため、例外は発生しませんでした。
マーティンローゼナウ

9
この答えに賛成するためだけにサイトに参加しました。
ニッチ語

7
これは印象的ですが、実際に出力を印刷するのはCプログラムではなく、実行中のシェルです
Dennis

80

Excel、11バイト

ノルウェー語版:

=SMÅ(13^9)

英語版(12バイト):

=LOWER(17^9)

n桁の数字を生成し、小文字に変換してテキストに変換します。


106
これは、「仕事に適した言語を選ぶ」というまったく新しい意味を与えます。
マーティンエンダー

4
これは素晴らしいアイデアです。やって短いだろう=9^7&""いずれかの言語で7桁の番号を生成し、唯一の7バイトです。
-OpiesDad

@OpiesDad素敵な解決策、答えとして投稿するべきだと思うので、私は賛成票を投じることができます。
パジョンク

4
@MartinEnderあなたの憶測/潜在的な冗談がこの答えよりも賛成である方法に私を楽しませます(それは近いですが)。
ハイパーニュートリノ

55

ラビリンス、4バイト

!!>@

オンラインでお試しください!

プリント 0000

説明

!   Print an implicit 0 from the stack.
!   Print an implicit 0 from the stack.
>   Rotate the source code right by one cell, so the code now becomes

    @!!>

    The IP is moved along, so it's now at the end of the line, which is 
    a dead end. So the IP turns around and starts moving left.
!   Print an implicit 0 from the stack.
!   Print an implicit 0 from the stack.
@   Terminate the program.

6
それはあまりにも賢いです。家に+1があります!
コイナーリンガーアーイング


40

網膜、2バイト

no

オンラインでお試しください!

印刷0と改行。

2バイトのソリューションはたくさんありますが、これが最適だと思います。Retinaはデフォルトで常に末尾の改行を出力し、それを取り除くにはバイトがかかりすぎます。したがって、空の入力を変更せずに残す1バイトのプログラムを見つける必要があります。これを行う唯一のプログラムは、単一の改行を含むプログラムであると考えています。したがって、これは出力に等しく、チャレンジによって許可されません。

次に行う最も簡単なことは、Retinaで1桁(空の入力に対する正規表現の一致数)を出力することです。多くの失敗(または一致)2バイトパターンでそれを行うことができます。


27
それを実行しないように私に言ってコードの場合1:P
クリストファー

33

Mathematica、2バイト

4!

階乗

24


1
ああ!賢すぎる。
tuskiomi

2
それに私を打つ!+1。(これはMathematicaのREPLバージョンにあることを言及する必要があると思います。)
グレッグマーティン

これが合理的な答えである場合、答え「1」も合理的な答えではないでしょうか?(MathematicaのREPLに「1」を入力すると「1」も返されます...)
Mark Segal

3
@MarkSegalそれはノークインルールに違反するでしょう。
AlexR

6
ルール:...「...コードと出力は、少なくとも1バイトで異なっていなければなりません」
J42161217

29

C、20バイト

f(){printf("%20d");}

20の長さまでスペースが埋め込まれたいくつかの数値を出力します。

私のシステムでいくつかのサンプルが実行されます:

llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           -666605944
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
          -1391039592
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           1727404696
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
             10717352
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           1485936232

出力が任意のバイト数にならないのは残念です。なぜなら、この19バイトのソリューションが可能になるからです。

f(){write(1,f,19);}

fのアドレスから始まる19バイトのジャンクを出力します。


可変出力ルールを利用する答えを見てうれしいです。:)
マーティン・エンダー

このセグメンテーション違反はできませんでしたか?
ダニエル

TIOリンクはどこにありますか?
CalculatorFeline

@ダニエルいいえ、印刷される番号は%esiレジスタの以前の内容から取得されます。
ドアノブ

8
@Doorknobそれはまだ未定義の動作ですが、そのためより多くのサディスティックなコンパイラは、ここで完全に異なる何かをするかもしれない
Sargeのボルシチに

29

LinuxでのBash、6

uname

(その後に改行が続く)

出力のLinux後に改行が続きます。


2
技術的にはuname、bashの組み込みではありません-それは、別の実行可能だ
ジェイソンMusgrove


@GammaFunctionどこにunamebash ビルトインが表示されますか?今私が手を置くことができるすべてのディストリビューションは、TIOを含む別個のバイナリです。逆に、リンクされた答えが示すように、umaskほとんど/すべてのシェルに組み込まれています。
デジタル外傷

uname組み込みとして見ていません。「-1、実際には組み込み」と言ったとき、「この回答はumask-1バイトを使用し、実際には組み込みです」という意味umaskでした。
GammaFunction

@GammaFunctionすみません-あなたのコメントの「-1」の意味を誤解しました-私はそれらの意味のダウン投票とその理由を説明するコメントに慣れています。
デジタル外傷

27

Javascript ES6、9バイト

テンプレート文字列を使用する

_=>`${_}`

f=

_=>`${_}`

console.log(f());
console.log(typeof f());


され undefinedた文字列とみなさ?
シャギー

3
@Shaggy編集をご覧ください。私は、文字列の補間を使用しています
Weedoze

うわー、これはPPCGと14のアップ投票に関する私の2番目の投稿です!ありがとう
ウィードーズ

1
なぜあなたはそれを難し​​くすることができるシンプルなホエーですか?(_=>_+'')
GOTO 0

1
@ GOTO0ああ、カッコをつけておいてください。これは別のオプションです。私は個人的に私を好みます
-Weedoze

24

Pyramid Scheme74 43 42バイト

Khuldraeseth na'Baryaのおかげで31バイト節約されました!JoKingの再設計されたソリューションのおかげで1バイト節約されました!

  ^
 /^\
^---^
-^ ^-
 -^-
 /2\
/ 8 \
-----

オンラインでお試しください!41桁の数値を出力し28^28 = 33145523113253374862572728253364605812736、その後に改行が続きます。


旧版

  ^
 / \
/out\
-----^
    /^\
   ^---^
  /1\ /9\
 /606\---
/51015\
-------

オンラインでお試しください!

出力71277303925397560663333806233294794013421332605135474842607729452115234375= 160651015 ** 9、または約10 74


6
ねえ、あなたはあなたの言語を売ろうとしていますか?もしそうなら、あなたは逮捕されています。-警官
-NoOneIsHere

2
@NoOneIsHereお許しですか?
コナーオブライエン

3
申し訳ありませんが、これはPyramid Schemeと呼ばれ、これも詐欺の種類の名前です。
NoOneIsHere

1
ohhhhhhhhhhhh rofl
コナーオブライエン

1
暗黙的な出力により、43バイトになります
Khuldraeseth na'Barya


23

Python 2、9バイト

print 1e5

表示される出力には、末尾の改行が含まれます。

オンラインでお試しください!


末尾の改行は、出力として文字としてカウントされますか?それ以外の場合、これは8バイトを印刷します。
OldBunny2800

@ OldBunny2800はい、チャレンジには、出力に末尾の改行が含まれている場合、それらがバイトカウントの一部であると書かれています。とにかく、私の答えでそれを明確にします
ルイスメンドー

18

brainfuck、25バイト

--[-->+<]+++++[->-.....<]

オンラインでお試しください! 注:8ビットの符号なしセルを使用した実装が必要です

出力:

~~~~~}}}}}|||||{{{{{zzzzz

説明

--[         254
 -->+<]      /2 = 127 into the second cell
+++++[      Five times
 ->-.....<]  Print the second cell - 1 five times

4
8ビットセルの無限テープのような多くのBFバリエーションがあります。または、限られたテープと無限のセル。あなたのものは符号なし8ビットセルモデルであると確信していますが、それをあなたの答えに含めればいいと思います。
ローマングラフ

@RomanGräf良い点!非標準の実装が必要な場合は、通常、その情報を含めます。この回答は、標準の実装(8ビットの符号なしセル、テープ)で機能するはずですが、明確にするためにメモを追加します。
ザックC.

.印刷できないNULL文字を印刷する1バイトのプログラムはありませんか?
グラビトン

@Gravitonこれは、このチャレンジの最初のルールに違反するでしょう。ただし、それはBF派生物の有効なソリューションであり、デフォルトで印刷可能な値になります(参照:私の頭脳の答え)。
ザックC.


16

C(イデオン)、14バイト

f(){warn(0);}

Ideoneでは、その実行可能ファイルprogに名前を付けますが、これは、次を改行で出力します。

prog: Success

C(GCC)、15バイト

f(){warn(00);}

GCCはa.outデフォルトで名前が付けられた実行可能ファイルを書き込むため(バイトを消費する追加のフラグがない場合)、これは後続の改行で次を出力します。

a.out: Success

7
@MDXF仕様ではプログラムまたは関数が指定されているため、関数の送信は完全に有効です。ここではユーザーがファイル名を選択していないので(Ideoneとgccの両方にデフォルトがあります)、これは問題ないと思います(個人的な意見)。
デニス

15

C(gcc)18 17バイト

f(){puts('@C');}

との間にSTXバイト(0x02)があることに注意してください。@C

オンラインでお試しください!

移植性

これは、Fedora 25のgcc 6.3.1およびclang 3.9.1、Ubuntu 14.04.4のgcc 4.8.4、およびopenSUSE 13.2のgcc 4.8.3でテストされ、次の出力が出力されます。

inux-x86-64.so.2

次のタイプの実行可能ファイルにコンパイルされる限り、これはすべてのバージョンのgccで同じ出力を生成することを期待しています。

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2

プラットフォームごとに、異なるメモリアドレスが必要になり、複数文字の文字定数のバイトの順序が異なる場合があります。

例えば、交換@\2C@\2\4プリントexec/ld-elf.so.1と打ち鳴らす3.8.0とのFreeBSD 11に改行。

オフライン検証

$ printf "%b\n" "f(){puts('@\2C');}main(){f();}" > quine.c
$ gcc -w -o quine quine.c
$ ./quine
inux-x86-64.so.2
$ ./quine | wc -c
17

使い方

デフォルトでは、ldはテキストセグメントのベースアドレスとして0x400000を使用します。これは、メモリーアドレス0x400000から始まるELFのコンテンツを見つけることができることを意味します。

ELFの最初の640バイトは、実際のソースコードからほとんど独立しています。たとえば、fの宣言の後にmain(){f();}他の何もない場合、次のようになります。

00000000: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00  .ELF............
00000010: 02 00 3e 00 01 00 00 00 00 04 40 00 00 00 00 00  ..>.......@.....
00000020: 40 00 00 00 00 00 00 00 e8 19 00 00 00 00 00 00  @...............
00000030: 00 00 00 00 40 00 38 00 09 00 40 00 1e 00 1b 00  ....@.8...@.....
00000040: 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00  ........@.......
00000050: 40 00 40 00 00 00 00 00 40 00 40 00 00 00 00 00  @.@.....@.@.....
00000060: f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00  ................
00000070: 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00  ................
00000080: 38 02 00 00 00 00 00 00 38 02 40 00 00 00 00 00  8.......8.@.....
00000090: 38 02 40 00 00 00 00 00 1c 00 00 00 00 00 00 00  8.@.............
000000a0: 1c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
000000b0: 01 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00  ................
000000c0: 00 00 40 00 00 00 00 00 00 00 40 00 00 00 00 00  ..@.......@.....
000000d0: 04 07 00 00 00 00 00 00 04 07 00 00 00 00 00 00  ................
000000e0: 00 00 20 00 00 00 00 00 01 00 00 00 06 00 00 00  .. .............
000000f0: 08 0e 00 00 00 00 00 00 08 0e 60 00 00 00 00 00  ..........`.....
00000100: 08 0e 60 00 00 00 00 00 1c 02 00 00 00 00 00 00  ..`.............
00000110: 20 02 00 00 00 00 00 00 00 00 20 00 00 00 00 00   ......... .....
00000120: 02 00 00 00 06 00 00 00 20 0e 00 00 00 00 00 00  ........ .......
00000130: 20 0e 60 00 00 00 00 00 20 0e 60 00 00 00 00 00   .`..... .`.....
00000140: d0 01 00 00 00 00 00 00 d0 01 00 00 00 00 00 00  ................
00000150: 08 00 00 00 00 00 00 00 04 00 00 00 04 00 00 00  ................
00000160: 54 02 00 00 00 00 00 00 54 02 40 00 00 00 00 00  T.......T.@.....
00000170: 54 02 40 00 00 00 00 00 44 00 00 00 00 00 00 00  T.@.....D.......
00000180: 44 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00  D...............
00000190: 50 e5 74 64 04 00 00 00 b0 05 00 00 00 00 00 00  P.td............
000001a0: b0 05 40 00 00 00 00 00 b0 05 40 00 00 00 00 00  ..@.......@.....
000001b0: 3c 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 00  <.......<.......
000001c0: 04 00 00 00 00 00 00 00 51 e5 74 64 06 00 00 00  ........Q.td....
000001d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001f0: 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00  ................
00000200: 52 e5 74 64 04 00 00 00 08 0e 00 00 00 00 00 00  R.td............
00000210: 08 0e 60 00 00 00 00 00 08 0e 60 00 00 00 00 00  ..`.......`.....
00000220: f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00  ................
00000230: 01 00 00 00 00 00 00 00 2f 6c 69 62 36 34 2f 6c  ......../lib64/l
00000240: 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73  d-linux-x86-64.s
00000250: 6f 2e 32 00 04 00 00 00 10 00 00 00 01 00 00 00  o.2.............
00000260: 47 4e 55 00 00 00 00 00 02 00 00 00 06 00 00 00  GNU.............
00000270: 20 00 00 00 04 00 00 00 14 00 00 00 03 00 00 00   ...............

たとえば、main(int c, char**v){f();}代わりに/lib64/ld-linux-x86-64.so.2使用すると、出力を生成するために使用するstringのオフセットではなく、一部のバイトが変更されます。

この文字列のオフセットは0x238で、長さは27バイトです。我々は唯一の17のバイトを印刷したい(と我々が使用している場合、最後の一つは改行されますputs)ので、私たちは追加11を得るためにオフセットに0x243をオフセット、inux-x86-64.so.2。追加0x4000000x243は与え0x400243のメモリ位置inux-x86-64.so.2

このメモリアドレスを取得するために、実装定義の動作を示す複数文字の文字定数を使用できます。0x400243は、ベース256 で(64)(2)(67)であり、gccのマルチキャラクタ文字定数はビッグエンディアンのバイト順を使用するため、'@\2C'目的の文字列のメモリアドレスが得られます。

最後に、putsそのメモリ位置での(ヌル終了)スティングと末尾の改行を出力し、17バイトの出力を作成します。


これは魔法です...これはコンパイルされたアセンブリのバイトオーダーか何かを想定していますか?
パトリックロバーツ

私のシステムでの出力(GCC 6.3.1を搭載したLinux):でUコンパイルする場合-Df=mainUでコンパイルするときmain(){f();}
MD XF

@PatrickRobertsこの時点で、私は仮定が本当に何なのか分かりません。アセンブルされたELFファイル内を移動するため、実際のコードの前にコンパイラーが書き込むすべてに大きく依存します。
デニス

@MDXF適切なメモリアドレスを取得するより短い方法を見つけました。Ubuntu 14.04 VPSで動作しますが、ymmvです。
デニス

@Dennisが正常に動作するようになりました(削除しました)。週末までに誰もより短い解決策を見つけられない場合、バウンティはあなたのものです。
MD XF

13

自己修正Brainfuck、5バイト

<[.<]

オンラインでお試しください!

出力:

]<.[<

説明:

本当にシンプルで、ソースを逆に印刷します。SMBFでは、プログラムのコンテンツはテープのポインタの初期位置の左側に保存されます。左に滑らせて印刷すると、ソースコードが逆方向に出力されます。

このチャレンジではソースの読み取りが許可されているため、これは間違いなくルールの範囲内でなければなりません。


13

基本算術計算機、2バイト

1=

プリント1.、または:

    |
    |
    |  .

これらの愚かな7セグメントディスプレイ。

再現するには、任意の電卓を選択します。彼らはすべてこのプログラミング言語を何らかの形でインストールしています。


1
これはすべての計算機に当てはまりますか?私は彼らが常に小数点を表示していると確信しています
ベータ崩壊

1.代わりではない1xですか?また、これはクインであり、ルールによって許可されていません。
エリックアウトゴルファー

いいえ、それ1=は台無しです。1x暗黙の等号よりも意味=がありますが、それがボタンであることを忘れていました。
OldBunny2800

1TI-36とTI-84 CEの両方でのみ出力されます。これらは「基本的な」計算機としてカウントされませんか?
ベンジャミン・アーカート

いいえ、TI 84は算術計算機ではなく、グラフ計算機です。私は36については知りませんが、それは科学計算用電卓だと確信しています。この答えは、4関数電卓用です。
OldBunny2800

13

フーリエ、26 22 20バイト

5^(`na`&i)` Batman!`

FourIDEでお試しください!

出力:

nananananana Batman!

適切に大文字を使用するには、4バイト余分になります。

`N`7^(`an`i^~i)`a Batman!`

FourIDEでお試しください!

Nanananananananana Batman!

RIPアダムウエスト


1
NCを含める必要はありません(この課題のために文字列印刷を行った場合のみ(そしてそれはばかげているでしょう)
クリストファー

@Christopher Huh、私はそれを知りませんでした
ベータ崩壊

12

Brachylog、1バイト

w

オンラインでお試しください!

説明

w組み込みの「書き込み」です。ここでは、入力を書き込みます。入力は自由変数なので、w印刷する前に整数としてラベルを付けます。試行する最初の整数はです0


Here, it will write the Input.「入力」はプログラム自体ですか?これはソースの読み取りとしてカウントされませんか?
MD XF

4
@MDXF「通常QUINEのルールが適用されない」
ロブ・ワッツ

3
@MDXF入力は、Brachylogプログラムを呼び出すときに設定できる特別なBrachylog変数です。TryItOnlineの入力部分に入ります。ここでは、入力に何も設定しないため、事実上変数です。プログラムではありません。
死亡

10

Java(OpenJDK 8)、11バイト

o->1e8-1+""

オンラインでお試しください!

出力:

9.9999999E7

明らかな答えよりも少し凝っただけ()->"".format("%23s",0)です。

保存する

  • 18-> 16バイト:PunPun1000のおかげで、丸めと10の累乗のより有利な組み合わせ
  • 16-> 13バイト:JollyJokerのおかげでより良い式
  • 13-> 11バイト:Kevin Cruijssenのおかげで式が改善されました

2
()->1E10-1+"""9.999999999E9" (13)さらに3バイトを節約
JollyJoker

1
に変更1e10して1バイト1e9、または次()ような代わりに空の入力を使用して2バイトを保存できます:o->1e8-1+""(outputs 9.9999999E7; length&byte-count 11)。
ケビンCruijssen

9

05AB1E、1バイト

õ

単一の改行を出力します。õ空の文字列をプッシュし、暗黙的に改行で出力されます。

オンラインでお試しください!

他の2バイトのソリューションは、見やすくするためのものです(出力は括弧内にあり、すべての出力には末尾の改行があります)。

X, (1)
Y, (2)
¾, (0)
¼, (1)
¶, (newline)
ð, (space)
Î, (0)

しかし、もっと多くの2バイトソリューションがあります。


「これは受け入れられた出力方法です」機能ソリューションのみで、完全なプログラムではありません。
マーティンエンダー

@MartinEnderこれらのソリューションは関数としてカウントされますか?ここでは関数を使うことはあまりないので、確かではありません。
Okx

05AB1Eについては十分に知りませんが、実際に関数オブジェクトに評価される式である場合にのみ関数と見なされます(これらを使用するとすぐにコマンドが実行されるため、実行するとは思えません)。
マーティンエンダー

9

V / vim、1バイト

o

これにより、単一の改行が印刷されます。

オンラインでお試しください!

これには多くのバリエーションがあり、それらも機能します。例えば、

O

vimで、そして

Ä
ä
ï
Ï

Vで

また、多くの多くの多くの3バイトソリューションがあります。例えば:

3ii
i³i
¬ac

これらはすべてVに固有です。


3iiは、エスケープを押すまで展開されません。3バイトまたは4バイト(またはキーストローク)である必要がありますか?
アルグミー

@algmyr vimでは、あなたは正しいです。それはでなければならない4ii<ESC>ただしVは暗黙のうちにプログラムの最後に脱出を埋めます。
DJMcMayhem

8

バッチ、12バイト

@echo %OS%

バイトカウントには、スクリプトと出力の両方の末尾の改行が含まれます。

Windows_NT

11バイトではない12だと思われる
エリックOutgolfer

@EriktheOutgolfer cmd.exeは、もちろんWindows_NT12バイトの後にCRLFをエコーします。
ニール

次に、明確にする必要がありますか?
エリックアウトゴルファー






7

ゼリー、1 バイト

V

かなり数ジェリー1バイト-これは1つです-入力として何も提供されない場合、デフォルトでゼロになり、結果は暗黙的に出力され0ます。

オンラインでお試しください!

実際、コードページ内の256バイトのうち、完全なプログラムとして実行した場合、指定された範囲内で異なる1バイト出力を現在生成しないのは 95バイトのみです。これらは(バイト順のコードページ文字として):

¡¢£¦©½¿€ÇÑÞßçıȷñ÷þ"#&',-./0123456789:;?@IMRTVZ\`dmpstxyz{}~°³⁴⁵⁹ƓƈɠḶỌṬḊĖİĿṄȮṖṘẆẊṃọṣṭḃḟḣŀṁṗṡẋż’“

ノート:

  • 1バイトのプログラムのほとんどは印刷しない0(印刷における単一ゼロのリスト、降伏/ NO-OPSを0、ほとんどの他のものはプリント)10=0等)

  • 一つのプログラムでない異なるバイトを収率が、しかし仕様に従って範囲外にあるもの-それはヌル・バイト(キャスト生成0文字に)

  • スペースを生成します(リテラル)

  • 改行(リテラル)を生成します

  • 現在動作している一部のバイトは、将来は動作しない可能性があります-割り当てられた場合、ほぼ確実に1バイトの出力を生成しないニラディック値用に予約されているかなりのバイトがあります(私は信じています)。


1
デッドリンクbyte
ウィードーズ

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