2016 Time Capsule String:整数ラダーに登る


28

2016タイムカプセル文字列の74文字を使用する

H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%

Nコードスニペットをすべて同じ言語で記述します。

  • 最初のスニペットが出力します1
  • 2番目のスニペットが出力されます2
  • 3番目のスニペットが出力されます3
  • ...など...
  • N番目のスニペット出力N(リテラル文字ではなく、数字)。

「コードスニペット」は、次のいずれかとして定義されます。

  • 通常数を出力する必要な入力のない完全なプログラム。
  • 通常、数値を出力/返す必須の引数のない関数。
  • REPLの表現番号に評価されます。

(Nスニペットでこれら3つのバリアントを組み合わせて使用​​できます。)

あなたはNスニペットの組み合わせセットでの使用を許可している文字は正確にタイムカプセルの74の文字、プラス floor(N/2)余分な「ワイルドカード」バイト、世界中どこででも使用できること。

たとえば、タイムカプセルには3つ@のが含まれているため、ワイルドカードバイトの@一部floor(N/2)を追加に使用することを決定しない限り、Nスニペット全体で最大3つのスニペットが存在する可能性があります@

したがって、ワイルドカードをカウントせずに、N個のスニペットの文字の組み合わせセットは、74個のタイムカプセル文字のサブセットでなければなりません。長さの合計は74を超えることはできません。スニペット間でタイムカプセル文字またはワイルドカードバイトを再利用することはできません

ノート

  • スニペットの長さや、スニペットごとに使用できるワイルドカードの数に他の制限はありません。

  • 1からNまでのすべてのスニペットを記述する必要があります。これは、0からN-1ではなく、kからN + k-1ではありません。

  • スニペットは、リストを出力する1つのスニペットではなく、個別でなければなりません1, 2, 3, ..., N

  • 出力はの3.0代わりにfloatである3場合があり、言語の自然なbaseである場合は、decimal以外のbaseを使用できます。すべてのスニペットに同じベースを使用する必要があります。

  • ワイルドカードは、言語のエンコーディングでバイトとしてカウントされます。これはおそらくASCIIになりますが、たとえばエンコードで1バイトとしてカウントする場合、単一のワイルドカードバイトとして使用できます。

  • マルチバイト文字にはワイルドカードバイトを使用できます。たとえば通常は 3バイトなので、スニペットで使用できますが、floor(N/2)ワイルドカードバイトの3 つがかかります。

  • などの改行\r\nは1バイトと見なされます。

Pythonでは、REPLを使用するだけでN = 4が可能です。floor(4/2) = 2ワイルドカードがあります。

  1. 1タイムカプセルからはに評価する表現です1

  2. 2単一のワイルドカード、つまりで構成され2ます。への評価2

  3. 3また、単一のワイルドカードで構成されます。への評価3。これ以上のワイルドカード。

  4. 4幸運なことにタイムカプセルに入っていてそれが評価され4ます。

これらのスニペットは短くて簡単です。実際の答えは、おそらくもっと複雑です。

(Pythonで5つ以上は確かに可能かもしれませんが、専門家に任せます。)

得点

最も高いNの答えが勝ちます。すなわち、整数のはしごを最高に登る人。

同点の場合、最も少ないワイルドカードバイトを使用した回答が優先されます。
まだ同点の場合、累積文字数が最も少ない答えが勝ちです。
ある場合は、まだネクタイは、以前の答えは勝ちます。


1
プログラミング言語にREPLがない場合でも、適切な値に評価される場合、その言語で式を送信できますか?(たとえば、4REPLを持たない古いバージョンのPerlで4を返す有効なスニペットですか?)

1
ああ、別の質問:非ASCII互換エンコーディングを使用する言語では、タイムカプセル文字を文字(言語のエンコーディングに変換)またはバイト(プログラムをASCIIとして表示するように書く)として扱いますか?完全にタイムカプセルキャラクターで構成されているように見えますか?)奇妙な文字セットを使用する一部の言語では、ほとんどのタイムカプセル文字は文字セットにも含まれていないため、そのまま使用するのは困難です。

1
先行ゼロはどうですか?と07 同じ7ですか?
エミグナ

1
文字列に「...」-も含まれていないことは本当に私をn
悩ま

1
スタックベースの言語の「スニペット」は、スタックに値を残すことができますか?
FlipTack

回答:


10

CJam、25個のスニペット、12個のワイルドカード、64バイト

1
Q!)
Z
4
5
6
L``(*$)#
8
9
T!T
B
C
D
E
F
G
H
I
J
K
O`e`~~!!
B`:)
Q``$e`~~@~@=~+
Q!)4
Amf

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

ワイルドカード:

568BBCDEFGJK

デニスがゴルフをする前に、すぐに投稿しなければならないと感じています。


どのワイルドカードを使用しましたか?
Rɪᴋᴇʀ

@EasterlyIrk編集。デニスの回答でワイルドカードカウンターを使用することもできます
jimmy23013



5

JavaScript、10個の数字、5個のワイルドカード

残りのキャラクター: !!#$$%&())))*...:=@@@HILOQQQTTZ\^```eefmpy{|||~~~~~~~~~

使用される5/5ボーナスキャラクター: 37680

プログラム:

  1. 1
  2. ! `` +! ``
  3. 3
  4. 4
  5. 4|!``
  6. 6
  7. 7
  8. 8
  9. 9
  10. 0xA

使用できる文字列の1つが\xAB数字になることを期待していましたが、残念なことに、試した組み合わせではどれも得られませんでした。^(XOR)文字も使用に興味深いものになるだろうが、私は現在、素晴らしい十分な数を作るために使用することができる任意の機会が表示されません。

別の実行可能な組み合わせが見つかった場合は、コメントでお知らせください。

編集:Arnauldに感謝#10を追加


1
追加できると思います10. 0xA010に達すると付与される新しいワイルドカードである)
アーナルド

あなたはどこかで(Q=!``)|Q余分を得るために1のために行うことができます1。それが役立つかどうかは
わかり

4

Pyth、12個のスニペット、20バイト(6個のワイルドカード)

f@

root(n、n)が1から始まる最初の数値を見つけます。出力:1

y!H

ダブルではない{}。出力:2

3

ワイルドカード#1。出力:3

4

出力:4。

5

ワイルドカード#2。出力:5

6

ワイルドカード#3。出力:6

7

ワイルドカード#4。出力:7

8

ワイルドカード#5。出力:8

9

出力:9

T

事前初期化された変数。出力:10

+T!Z

10プラス0ではありません。出力:11

12

ワイルドカード#6(2)。出力:12


4

オクターブ、6つの数字、3つのワイルドカード

1: ~~I          % not(not(sqrt(-1))) evaluates to true (or 1)
2: 2            % Wildcard
3: 3            % Wildcard
4: 4
5: (T=4)+~~T    % Create a variable T=4, then add not(not(T)) which evaluates to 1.
6: 6            % Wildcard

私はまだ持って1おり9*去りましたが、それが私に大いに役立つかどうかわかりません。私はそれらで何ができるか見ていきます:)

Esolangを使用していないときに多くの数字を取得するのは簡単ではありません。もう1つか2つは手に入れることができるといいのですが、難しいと思います。


2

Pushy、10個の数字(4つのワイルドカード)

これらはすべて、結果をスタックに残すスニペットです。これをオンラインインタープリターでテストするには、#各スニペットに追加します(番号を印刷するため)

A(      \ 1:  Get alphabet and check that 'Z' >= 'Y'. Results in 1 (True)
x&+     \ 2:  Check stack equality (True - both are empty) then duplicate and sum.
3       \ 3:  Push 3 (1 wildcard)
4       \ 4:  Push 4
1 4+    \ 5:  1 + 4 in postfix, leaves 5 on the stack (1 wildcard)
`L`T%   \ 6:  Get character code of 'L' and modulo by T (ten) - leaves 6 on the stack
7       \ 7:  Push 7 (1 wildcard)
8       \ 8:  Push 8 (1 wildcard)
9       \ 9:  Push 9
T       \ 10: Push 10

この答えはまだ完全ではありません-それは私がはるかにさらに得ることはありそうもないようですが。


1

05AB1E、12個の数字、6個のワイルドカード

 1:    1                                   -> 1
 2:    )O!x                                -> sum([])!*2
 3:    4L`\                                -> 2nd_last(range(1...4))
 4:    4                                   -> 4
 5:    5        # wildcard 1 = 5           -> 5
 6:    6        # wildcard 2 = 6           -> 6
 7:    Tf`~                                -> or(last2(prime_factors(10)))
 8:    8        # wildcard 3 = 8           -> 8
 9:    9                                   -> 9
10:    T                                   -> 10
11:    A`Q!T+   # wildcard 4 = T           -> (y==z)!+10
12:    TÌ       # wildcard 5,6 = T,Ì       -> 10+2

1

六角形、6つの数字、3つのワイルドカード、23バイト

1!@
))!@
)|\@$!
4!%
4)!:
6!@

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

6番目のプログラム全体は、ワイルドカードから作成されます。

唯一の本当に面白いものは3。としてそれを行うことができますが4(!@、それは簡単4に生成するために私を残してしまう5ので、代わりにこれで行きました:

 ) |
\ @ $
 ! .

ために|)IPが右隅にラップする前に最初の行には、二回実行されます。$スキップ@し、次に\リダイレクトを介してIP )三度目。IPは左下隅に折り返し、!印刷してプログラム3@終了します。

5つの印刷コマンド(!!!!!)とプログラムの終了に使用できる5つのコマンド()しかないため、6つ以上のスニペットは考えられません@@@%:。5番目のスニペットの後、スニペットごとに少なくとも2つのワイルドカードが必要です。したがって、6ワイルドカードを使用せずに取得できたとしても、スニペット7に移動するのに十分なワイルドカードが残っていません。


1

JavaScript、8つの数字、4つのワイルドカード

 1: 1
 2: -~!``
 3: 4+~!$
 4: ~!``*~!``
 5: 4|!$
 6: 0xf^9
 7: 7
 8: 8

後でもう一度試すかもしれません-あなたがそれに着くとき、私は2と6のキャラクターを無駄にしています。


0

Befunge-98、4つのスニペット、18バイト、2つのワイルドカード

!.@
!:+.@
41-.@    wildcard 1 = -
4.#A9H   wildcard 2 = .

残りの文字: !!!$$%&())))*=ILOQQQTTZ\^`````````eefmpxy{||||~~~~~~~~~

余分なプログラムはすべて出力形式を必要とし、すべて.,がすでに使い果たされているので、私はもっと可能性があるとは思いません。ワイルドカードなしで3と5を作成する方法を理解できれば、それは可能です。

最後のプログラムは、スタックがいっぱいになるため、最終的に終了します。Aそして、H反映されます読み込まれていない指紋、およびプログラムと9機のを押し続けます。


最後のものは有効ではないと思います。チャレンジで特に指定されていない限り、プログラムは終了する必要があります。
マーティンエンダー

%ただし、単に終了できます。
マーティンエンダー

@MartinEnder 00%はBefunge-98で有効であり、結果は0です(またはBefunge-93で結果をユーザーに要求します
。– PurkkaKoodari

@MartinEnderまた、最後のプログラム最終的に有限のメモリを想定して終了します。Funge-98の仕様では{、メモリが不足すると逆転する可能性があります。通常のプッシュについては何も言われておらず、すべてのインタープリターはOOMで失敗するように見えますが、言語仕様では明らかにメモリ制限が考慮されています。
-PurkkaKoodari

これはpキャラクターの存在により改善される可能性があると思いますが(おそらく???)、多少の手間がかかります。あなたはe%95を取得することができますが、それを印刷してプログラムを終了する方法が必要なので、私はそれを疑います
-MildlyMilquetoast

0

SmileBASIC、12個のスニペット、5個のワイルドカード、31バイト

!.     '. is parsed as the number 0.0; taking the logical not gives 1
!.+!.  'Previous value added to itself
@Q||Q  '@Q is a label string and Q is a variable. For some reason, certain comparison/logical operations between strings and numbers return 3 rather than 1 or 0. 
4      '4
#TLIme 'Constant for the text color lime green, value is 5.
6      '6 (wildcard)
7      '7 (wildcard)
8      '8 (wildcard)
9      '9
&HA    'Hexadecimal A
11     '11 (one of them is a wildcard)
4*3    '4 multiplied by 3 (3 is wildcard)

私はまた、変数の代わりに使用していたかもしれない.(変数は0から始まる)、および文字列変数(のようなQ$)の代わりに@Q

使用される文字: !!!#&*+...1449@AHILQQTem||

使用されるワイルドカード: 67813

未使用の文字: !!$$%()))):=@@OQTZ\\^`````````efpxy{||~~~~~~~~~

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