汎用性のある整数プリンターを作成することは素晴らしいことですが、多くの異なる数字を印刷する単一のコードを書くのは面倒です。数字を出力するだけでなく、次の数字を取得するための新しいスクリプトを作成するスクリプトを作成する方が簡単ではないでしょうか?
チャレンジ:
単一の整数N
と実行可能コードを出力するコードを記述します。次のコードが出力さN+1
れ、出力可能なコードが出力されますN+2
。に到達するまでこのパスを続けますN = 15
。(最後に印刷される番号は15でなければなりません)。
ルール:
- 入力なし(入力が空であると想定)。
- 完全なプログラムまたは機能、またはその他の便利な形式が許可されています。
- 最初のコードが出力されるはず
1
です。 - 先行ゼロを出力することはできません。あなたは印刷することができませんIE
01
のために1
。 - 出力はformatでなければなりません
N, Code_for_N+1
。出力はコンマと単一のスペースで区切られていることに注意してください。のコードにN+1
は、引用符がありません。N , Code_for_N+1
受け入れられません(コンマの前のスペース)。末尾の改行は問題ありません。 - 出力の最初の文字は数字でなければなりません。(先行スペースなし、または
ans = N
)。 - 印刷された番号は次のコードの一部であってはなりません(コードにはこの番号を含めることができますが、出力番号をコードの一部として使用することはできません)
- 例:の出力は
N=2
次のとおり2, printer 2
です。この場合、printer 2
はのコードですN=3
。出力全体を使用することはできません:の2, printer 2
コードとしてN=3
。
- 例:の出力は
- スクリプトは異なる言語である場合があります
- データ型は関係ありません(数値は文字列でもかまいません)が、何にも囲まれることはできません(引用符、括弧など)。
- 出力されたコードがある場合は、
N=15
印刷するかSTOP!
(ボーナスを参照)、何も印刷しない(スペースや改行も含めない)必要があります。- のコード
N=15
はクラッシュできません(ただし、STDERRへの出力は問題ありません)。 N=15
プリントの出力コード16
またはその他のもの(ボーナスケースを除く)の場合、失格となります。
- のコード
- 組み込みのクイン演算子は使用できません。
- ファイルシステムを介したソースファイルへのアクセスは許可されていません。
ボーナス:
15を出力するコードが「STOP!
」を出力するコードも生成する場合は-10バイト
Python構文を使用した例:(明らかに、これらは1〜15ではなく、選択した整数に対してのみ機能します。)
N = 1
print "1, print 2"
1, print 2
---
N = 15
print 15
15
---
N = 15 (Qualifies for the -10 bytes bonus)
print "15, print 'STOP!'"
15, print 'STOP!'
print 'STOP!'
STOP!
----
N = 15 (Qualifies for the -10 bytes bonus)
print "15, disp('STOP!')"
15, disp('STOP!') (disp('STOP!') outputs STOP! in MATLAB)
----
N = 15 (This one is not OK. The submission is disqualified)
print "15, print 16"
15, print 16
標準的なゴルフ規則が適用されます!バイト単位の最小コード(N = 1の場合)が勝ちます!
14, print(14+1)
できますか?
f=>f+""
無効になりますか?(f+""
関数の構築コードを返します。)