私の上司*は、プログラム要件を変更するユーザーにプログラマーが否定的に反応する理由を理解していません。彼女が理解するのを助けてください!すべての回答で、新しい要件を作成します。次に、新しいプログラミング言語で、その要件と以前のすべての要件を解決するプログラム/関数を作成します。
例
ユーザー1が最初の回答を投稿します。彼は、プログラムが「Hello、World」を出力する必要があると指定しています。彼はJavaで「Hello、World」を出力するプログラムを作成します。
ユーザー2が2番目の回答を投稿します。彼女は、プログラムが入力nを受け入れ、言語の最大maxまでn 番目の素数を出力しなければならないことを指定します。彼女は、入力nを受け入れ、n 番目の素数を出力し、「Hello、World」を出力するプログラムをC ++で作成します。彼女はJavaでプログラムを作成できませんでした。
ユーザー3は3番目の回答を投稿します。彼は、プログラムソースに「Hello」というテキストを含めることはできないと指定しています。彼は、入力nを受け入れ、n 番目の素数と「Hello、World」を出力する関数をPythonで作成します。ソースに「Hello」というテキストは使用していません。彼はJavaまたはC ++でプログラムを作成することはできませんでした。
回答フォーマット
#Answer # - <language name> [version, if pertinent]
Requirement: <rule>.
<code>
[explanations, encoding, TIO link, etc.]
回答ルール
答えは上記の形式、または同様の形式に従う必要があります。
答えはプログラムまたは関数です。
答えは、現在の答えを含むすべての要件を満たさなければなりません。
同じユーザーが2つの回答を連続して投稿することはできません。
2つの回答が同じ番号で投稿された場合、後で投稿された回答は削除する必要があります。
あなたはひどく台無しにしない限り、あなたの要件を編集しないでくださいと、他の答えが掲示されていません。
あなたの答えがあなたの規則と他のすべての規則に従っていない場合、それは無効です。他の誰かが次の回答を投稿する前に、これを修正してください。
同じ言語の異なるバージョンは、いずれかのバージョンで作成されたプログラムまたは関数が他のバージョンで異なる動作をする場合にのみ、異なる言語としてカウントされます。
答えは、不要な入力を受け付けない場合があり、必要な空白を除いて、不要なものを出力しない場合があります。ただし、舞台裏では、プログラムはすべての「隠された」(ユーザーからの)要件を満たす必要がありますが、特に実行時間の要件を満たす必要がある場合は、必要なことは何でもできます。
要件ルール
要件は1つの要件のみを指定する必要があります。この要件は条件付きである可能性があり、この要件が入力および/または出力を必要とする場合、これが含まれる場合があります。
この要件は、以前の要件を削除または変更したり、それらと競合したりすることはできませんが、拡張することができます(どちらを指定するか)。
要件がソースを制限する場合(restrict-source)、またはソース内のテキストを必要とする場合、単一の文字列(
0
、などHello
)のみを削除するか、単一の文字を必要とする場合があります。この要件では、ソースが100バイト未満であること、特定のエンコードが必要であること、またはそれ自体が大部分の共通言語を除外することを要求できません。
要件は、制限されたソースで指定されているもの以外の特定のパターン(たとえば、特定の文字で各行を開始したり、特定の値に(@Conor)ハッシュする)にソースを強制することはできません。
これはanswer-chainingであるため、すべての回答は以前の回答に基づいています。私と他の人は、すべての要件のリストを保持しようとします。回答を順番に表示するには、古い順に並べ替えることができます。最新の回答を表示するには、古い順に並べ替えてから、リストの最後に移動します。
勝つ方法(保留投票に変更):
2週間回答が投稿されない場合、チャレンジは終了し、スコアが計算されます。スコアは、各ユーザーの回答の合計数を合計することで計算されますが、チェーン内の距離に基づいて投稿に重みを付けます(後の投稿の要件が増えるため、投稿は難しくなります)。
擬似コード:
for each answer in user.Answers {
score += 1 + (answer.number / 100)
}
例:
サリーには3つの答えがあります。彼女は回答5、回答7、および回答20を投稿しました。
彼女のスコアはになります1.05 + 1.07 + 1.2 = 3.32
。回答の合計が正しければ、彼女のスコアは3になりますが、チェーンの深さの重み付けはより難しい回答に報います。
始めること:
上司から与えられた最初の要件は次のとおりです*。
要件0:プログラムは、何よりも先に0を出力する必要があります。
*架空
要件と言語のリスト
これは古くなっている可能性があることに注意してください-回答を投稿する直前に最後に投稿された回答を見て、すべての要件を満たしていることを確認してください。絶妙なプログラムを作成し、誰かがスナイプするだけの場合は非常に残念です。とにかく本当に投稿したい場合は、非競合を指定してください。
完全な(しかし、そうでないかもしれない現在の)要件は:含めることはできません
0
、*
または]
ソースコードでは、と参加オン改行組み込みを使用することはできません。Outputsは0
、非負の整数入力n
を取り、0から始まるn
thフィボナッチ数(1
インデックス付け可能)、改行、同じ入力nの2乗、改行、n
乗算の順に改行を出力します新しい入力によってm
続く改行、続いて10^B
、B
続いて改行に続くソースコードにおけるバイトの数であり、n
thは0
(あってもよい-indexed1
改行に続く、-indexed)素数をnとmの最大公約数が続きます。0:プログラムは
0
何よりも先に出力する必要があります。言語:N / A
1:プログラムソースにを含めることはできません0
。言語:05AB1E
2:プログラムは、負でない整数入力n
を取り、改行の後に0
-indexed n番目のフィボナッチ数(1
インデックス付け可能)を出力します。言語:dc
3:プログラムは改行を出力し、その後に同じ入力のn
2乗が続きます。言語:J
4:プログラムは改行を出力し、その後にn
新しい入力を掛けますm
。言語:オーム
5:プログラムに*
(ASCIIコード0x2A
)を含めることはできません。言語:Python 3
6:プログラムは改行を出力し、その後にが続きます10^B
。ここB
で、ソースコードのバイト数です。言語:Mathematica
7:プログラムは改行を出力し、続いてn
th0
インデックス付き(-indexedの場合もある1
)素数が続きます。言語:JavaScript(ES6)
8:プログラムは、new-on-newlinesビルトインを使用しませんが、他のすべてのjoinビルトインを使用できます。言語:Jelly
9:プログラムは、改行とそれに続くnおよびmの最大公約数を出力します。言語:Scala
10:プログラムにを含めることはできません]
。言語:Pyth
現在のスコア(最初の投稿順)
Okx:1.01
R. Kap:2.09
Conor O'Brien:1.03
Nick Clifford:1.04
Eric Rose:1.05
Greg Martin:1.06
Erik the Outgolfer:2.18
math_junkie:1.09