あなたはユーザーです:要件を作成します


15

私の上司*は、プログラム要件を変更するユーザーにプログラマーが否定的に反応する理由を理解していません。彼女が理解するのを助けてください!すべての回答で、新しい要件を作成します。次に、新しいプログラミング言語で、その要件と以前のすべての要件を解決するプログラム/関数を作成します。

ユーザー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つの要件のみを指定する必要があります。この要件は条件付きである可能性があり、この要件が入力および/または出力を必要とする場合、これが含まれる場合があります。

  • この要件は、以前の要件を削除または変更したり、それらと競合したりすることはできませんが、拡張することができます(どちらを指定するか)。

  • 要件がソースを制限する場合()、またはソース内のテキストを必要とする場合、単一の文字列(0、などHello)のみを削除するか、単一の文字を必要とする場合があります。

  • この要件では、ソースが100バイト未満であること、特定のエンコードが必要であること、またはそれ自体が大部分の共通言語を除外することを要求できません。

  • 要件は、制限されたソースで指定されているもの以外の特定のパターン(たとえば、特定の文字で各行を開始したり、特定の値に(@Conor)ハッシュする)にソースを強制することはできません。

これはであるため、すべての回答は以前の回答に基づいています。私と他の人は、すべての要件のリストを保持しようとします。回答を順番に表示するには、古い順に並べ替えることができます。最新の回答を表示するには、古い順に並べ替えてから、リストの最後に移動します。

勝つ方法(保留投票に変更):

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から始まるnthフィボナッチ数(1インデックス付け可能)、改行、同じ入力nの2乗、改行、n乗算の順に改行を出力します新しい入力によってm続く改行、続いて10^BB続いて改行に続くソースコードにおけるバイトの数であり、nthは0(あってもよい-indexed 1改行に続く、-indexed)素数をnとmの最大公約数が続きます。

0:プログラムは0何よりも先に出力する必要があります。言語:N / A
1:プログラムソースにを含めることはできません0言語:05AB1E
2:プログラムは、負でない整数入力nを取り、改行の後に0-indexed n番目のフィボナッチ数(1インデックス付け可能)を出力します。言語:dc
3:プログラムは改行を出力し、その後に同じ入力のn2乗が続きます。言語:J
4:プログラムは改行を出力し、その後にn新しい入力を掛けますm言語:オーム
5:プログラムに*(ASCIIコード0x2A)を含めることはできません。言語:Python 3
6:プログラムは改行を出力し、その後にが続きます10^B。ここBで、ソースコードのバイト数です。言語:Mathematica
7:プログラムは改行を出力し、続いてnth 0インデックス付き(-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 Outgolfer2.18
math_junkie:1.09


3
最後の答えを受け入れるのはなぜですか?それは、誰も満たされない要件を追加することに勝つように思われます。
-xnor

5
たとえば、「プログラムのmd5ハッシュは...でなければなりません」
コナーオブライエン

2
連鎖を終わらせる要件を防ぐために規則が守られたとしても、「勝利条件」があると、人々は楽しい規則ではなく不可能に近い規則を作ることを奨励すると思います。
-xnor

2
@StephenSまあ、人々は勝つために遊んでいないようですので、私の懸念は見当違いのようです。
-xnor

2
これは「対象範囲クリープ」と呼ばれるべき
NonlinearFruit

回答:


2

回答10-ピス

要件:2つの入力n(> = 0)およびを受け取りますm 0使用せずに0*または]ソースコード内の任意の場所で、改行で結合するための組み込みなしで出力します。次に改行が続いて出力1-indexed n番目のフィボナッチ数(ことができる0続く改行、続いて索引付けされる)、n続いて改行に続く二乗、n乗じm、改行に続く、続く10^B場合Bバイトの数でありますソースコード内で、改行とnth 1-indexed(-indexedの場合もある0)素数が続き、最後に改行とnおよびmの最大公約数が続きます。

JU2KE=H2VQ=+Js>2J=+YK=hHW!P_H=hH;jb[ZeJ^Q2sY^T51HiK

オンライン通訳


はい、これもゴルフです:-)
エリックアウトゴルファー

また、コメントの前に、いいえ、私は使用できないj代わりにjb、私は参加・オン・改行組み込みを使用されるので、。
エリックアウトゴルファー

6

回答1-05AB1E

要件:0...を印刷せず0にソースコードに

¾


4

回答4 — オーム

要件:ソースコードを使用0せず0に出力し、負でない整数入力nを取得して、0から始まるnフィボナッチ数(1のインデックスが付いている場合もある)が続く改行、改行、続いて同じ入力nが出力されます改行が続きn、新しい入力が乗算されますm

¼,≡ƒ,²,*,

4

回答2-DC

12298P?sa1 1-sb1sc[lblcdsb+scla1-dsa1 1-<y]dsyxlcp

要件:ソースコードを使用0せず0に出力し、非負の整数入力n0取得して、改行と-indexed n'番目のフィボナッチ数(1インデックスが付けられている場合があります)を出力します。

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


@ R.Kap問題ありません:)
スティーブン

2
新しい要件を読んだとき、何らかの理由で笑い始めました。+1。
同志SparklePony

4

回答5 -Python 3

要件:ソースコードで0なしで0を出力し、非負の整数入力nを取得し、改行、0インデックス付きのn番目のフィボナッチ数(1のインデックスが付いている場合があります)、改行、その後に同じ入力が続きますnは2乗され、その後に改行が続き、nに新しい入力mが乗算されます。文字*、ASCIIコード0x2A は使用しないでください。

    def f(n, m):
        print(1-1)
        a = 1-1
        b = 1
        for i in range(n):
            c = a+b
            a = b
            b = c
        print(b)
        print(n.__mul__(n))
        print(n.__mul__(m))

3

回答6 — Mathematica

要件:ソースコードで0または*なしの0を出力し、非負の整数入力nを取得して、0からn番目のフィボナッチ数(1のインデックス付き)、改行、同じ入力nの2乗、その後に改行、nに新しい入力mを掛け、その後に改行、10 ^ Bが続きます。Bはソースコードのバイト数です。

((e=Echo)[1-1];e@Fibonacci@#;e[#^2];e[1##];2^# 5^#&@59)&

1
うん、それで、EricRoeが1分ごとに私を打ち負かしたのを見た後の私の性急な編集:)
グレッグマーティン

2

回答7-JavaScript(ES6)

(a,b)=>String.fromCharCode(48)+'\n'+(m=(a)=>a>1?m(a-1)+m(a-2):1)(a)+'\n'+Math.pow(a,2)+'\n'+Math.exp(Math.log(a)+Math.log(b))+'\n'+1E257+'\n'+(T=(u,i=2,l=1-1,m=2)=>l<=u?(p=(o,z=2,s=1-1)=>z<o?p(o,z+1,s+(o%z<1&&z!=o)):s)(i)<1?T(u,i+1,l+1,i):T(u,i+1,l,m):m)(a)

要件: 2つの入力を取る関数、非負整数n及び任意の数m戻り含む文字列0を使用することなく0、ソースコード内のどこにでも、改行が続く0-indexed n番目のフィボナッチ数(することができる1索引付けされる)、その後の続いて改行によるn続く改行続い乗、nで乗算mを使用せずに*、ソースコード内のどこでも改行に続く、続く10^B場合B、ソースコードのバイト数であり、最終的にA、続いて改行およびnth 0-indexed(-indexedの場合もある1)素数。

テストスニペット


あなたは、変更することで、バイトのかなりの量を節約することができますString.fromCharCode(48)1-1。それは本当に重要ではありません;-)(また、ソースコードには2つのゼロがあります。これは同じ方法で修正できます)
ETHproductions

1

回答8- ゼリー

要件:2つの入力を取る関数、非負整数n及び任意の数m戻り含む文字列0を使用せず0、ソースコード内のどこにでも、改行が続く0-indexed n番目のフィボナッチ数(することができる1索引付けされる)、その後の続いて改行によるn続く改行続い乗、nで乗算mを使用せずに*、ソースコード内のどこでも改行に続く、続く10^B場合B、ソースコードのバイト数であり、最終的にA、続いて改行とnTHは0(あってもよい-indexed1-indexed)素数。改行に参加するためのビルトインは許可されていませんが、ビルトインへの参加は引き続き許可されています。

ÆḞṭØDW⁺¤;⁸²¤;×;ȷ25;⁸ÆN¤j⁷

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


はい、これはゴルフです。
エリックアウトゴルファー

1

回答9-Scala

要件:2つの入力n(> = 0)とを受け取りますm。ソースコードを0使用しない、0または*ソースコード内のどこにも出力せず、改行に参加するための組み込み関数もありません。次に改行が続いて出力1-indexed n番目のフィボナッチ数(ことができる0続く改行、続いて索引付けされる)、n続いて改行に続く二乗、n乗じm、改行に続く、続く10^B場合Bバイトの数でありますソースコード内で、改行とnth 1-indexed(-indexedの場合もある0)素数が続き、最後に改行とnおよびmの最大公約数が続きます。

(n:Int,m:Int)=>{
 val z=1-1;val o=println _;var i=1;var j=z
 o(z)
 o((1 to n).foldLeft(z,1)((a,b)=>(a._2,a._1+a._2))._1)
 o(math.pow(n,2))
 o(List.fill(n)(m).sum)
 o(math.pow(9+1,299))
 while(j!=n){i+=1;if((2 to i-1)forall(i%_!=z))j+=1};o(i)
 o((1 to math.min(n,m)).filter(c=>n%c==z&&m%c==z).last)
}

ここで試してみてください

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