解連鎖フィボナッチ


25

ASCIIの95文字に触発され... 95映画の引用

チャレンジ

入力が与えられたらnnth フィボナッチ数を出力します。どちらか0または1インデックスを使用できます。提出する際にどちらを指定してください。簡単ですね 問題は、直前の回答の文字セットを取得し、そこから2つの文字を削除して、別の文字を追加する必要があることです。別のキャラクターは

  • 直前の回答の文字セットからのものではない
  • (印刷可能なASCII、スペース、改行、水平タブ)のセットから

したがって、文字セットの合計サイズは、直前の回答のセットよりも正確に 1つ小さくなります。

最初の答え

最初の提出には、2文字が削除されたサブセット(すべての印刷可能なASCII、スペース、改行、および水平タブ)が含まれている必要があります。それ以降のすべての送信では、回答をこの元のASCIIのみの形式に制限する必要があります(Unicodeまたは拡張ASCII文字を追加できないことを意味します...申し訳ありませんが、Jelly、APLなど)。

例と説明

  • 最初の回答がCにあり、(ほとんどすべての印刷可能なASCII、改行、および水平タブ)を含み、その文字セットからとを省略している%^します。2回目の送信では、前の(ほとんどすべての印刷可能なASCII、改行、および水平タブ)文字セットから2文字を削除し、%またはのいずれかに追加する必要があり^ます。おそらく、改行を省略した1行のPowerShell回答でしょう。等々。
  • 前の回答のprint(){}!*+文字セット(12文字)が含まれていた場合、提出にはprint(){}!(10文字)と1文字追加できます。print(){!+(10文字)と1つの追加文字などが含まれます。
  • 前の回答が持っていた場合はprint(){}!*+、その文字セット(12文字)として、あなたの投稿はできません持っているprint()&するので、その文字セットとして(8文字)12 - 8 > 1
  • 前の回答が持っていた場合はprint(){}!*+、その文字セット(12文字)として、あなたの投稿はできません持っているprint(){}!(10文字)に加えて、追加の文字を*それが11文字だにもかかわらず、以来、その文字セットとして*前のセットに含まれています。
  • あなたのキャラクターセットのすべてのキャラクターがあなたの投稿に役立つ何かをしなければならないわけではありません。たとえば、前の回答のprint(){}!*+文字セットがあり!、フィボナッチ数列を計算し#てコメントを開始する組み込み言語が言語にある場合、提出は次のようになります。!#print(){}有効あり続けます。
  • キャラクターセットの同じキャラクターを複数回使用できます。たとえば、文字セットがであった!*#_とすると、答えは!!!**#**#_!!受け入れられ、受け入れられます。
  • コードに加えて(説明もいい!)、キャラクターセットを明示的にリストして、今後の送信で使いやすくするようにしてください。

勝ち

チャレンジの勝者は、2番目を投稿した人になります番目に新しい投稿を投稿した人(つまり、チェーンを破ったため、最後に投稿した人ではありません)です。

最終規則

通常の規則が適用されます。

  • 同じ人が連続して2回投稿することはできません
  • 回答が無効とみなされた場合(たとえば、禁じられた文字を使用したか、正しく計算されない場合)、削除する必要があります(そして、それから連鎖する後続の回答も)
  • 「同時に」投稿する2人のユーザーは、以前の投稿を有効にする必要があります。
  • 同じ言語を続けて2回投稿することはできません。このルールの目的上、同じファミリーの言語(Python 2とPython 3など)は「同じ言語」としてカウントされます。

最後に:

  • この投稿は、回答が適切な順序になるように「最も古い」で並べ替えると最も効果的に機能します。
  • Kyle Gullionは、ここでPython コードチェッカーを構築し、あなたが行方不明か、間違った文字を使用しているかどうかを確認します。

簡単な説明:1)プログラムには実際に使用している完全なセットを含める必要がありますか、それともより小さな文字セットを使用できますか?(brain(fuck | flak)、単項式などのミニマリスト言語にとって重要です)2)同じ言語を連続して2回投稿することはできないと言います。行にない限り、同じ言語を何度でも投稿できますか?
DJMcMayhem

1
私はそれが最初の投稿場合は、1つは、この課題を破壊することができますので、あなたが、最初のものを追加示唆
氏Xcoder

1
@DeadPossum 全体の文字数ではなく、文字セットに基づいています。2つを削除して1つを追加すると、使用可能なキャラクターの最終的なプールが減少し、将来の回答に創造性が強制されます。
AdmBorkBork

3
@ Mr.Xcoder私はPPCGコミュニティに信頼を置いており、誰かが意図的にそれを台無しにした場合、チャットでそれらをdoody-headと呼ぶ権利を留保します。
AdmBorkBork

3
コードチェッカーを投げて、興味のある人が少しでも楽になるようにします。
カイルガリオン

回答:


6

1. C

{またはが含まれていません}

#if 1
#define Q !"$&'",./=@[]^_\`|*
int WERTYUIOPASDFGHJKLZXCVBNM34567890(qwrtyuopasghjklzxcvbm)<%
	return qwrtyuopasghjklzxcvbm<2?1:WERTYUIOPASDFGHJKLZXCVBNM34567890(~-qwrtyuopasghjklzxcvbm)+WERTYUIOPASDFGHJKLZXCVBNM34567890(qwrtyuopasghjklzxcvbm-2);
%>
#endif

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

私はこれが正しかったことを願っています。


1
さて撮影。頭脳の答えを投稿してから数秒で、今ではほとんど不可能です。:/
DJMcMayhem

@DJMcMayhem Nah、誰かが{どちらかを追加するのを待つ}必要があるので、もう一方を追加できます。
AdmBorkBork

@DJMcMayhemよく、誰かが{または}を追加した場合、もう1つとBrain-Flakの答えを追加できます。
-betseg

1
この答えにはないことに気づきました*。文字セットから文字を省略して、それらを「含める」ことは許可されていますか、それとも見落としでしたか?
グレッグマーティン

@gregMartin 2?1*1はそれを修正します。
魔法のタコUr

5

2. Mathematica

まったく入っていない}Zまたは水平タブを。(含まれてい{ます。)

(* !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY
[\]^_`\abcdefghijklmnopqrstuvwxyz{|~ *)
Fibonacci

最初の2行は単なるコメントです。最後の行は組み込み関数で、入力0と1がそれぞれ出力0と1を生成するTrue Super Cosmically Ordained Indexingのみを使用しています(この0インデックスを呼び出すか1インデックスを呼び出すかはわかりません)。


5

8. オクターブ

追加Uおよび削除+および-。ソリューションに+-`01AEIタブ文字が含まれていません。

% !"#$&\'*./256789:<>?BCDFGHJKLMNOPQRSTUVWXYZ\\_abceghijklnpqrstuvwyz{|}~
f=@(x)([mod(4,3) mod(4,3);mod(4,3) mod(4,4)]^x)(3)

フィボナッチ行列に基づいています。


あなたは持っているtものの...
アンソニー・ファム

\tは、タブ文字がPythonで印刷される方法です(これを使用して回答を確認しました)。少しわかりやすくするために編集します。
カイルガリオン

そのフィボナッチ行列は良いアイデアです!
ルイスメンドー

5

33、MATL

追加-、削除()。ソリューションには!&'()/\01?AEIKLMNPSTWZ`dmwz{}|~、タブ、スペース、または改行が含まれていません。

5X^Hq+G^Hq5X^-G^-HG^5X^*Hqqq^*Yo%"#$,.2346789:;<=>@BCDFJOQRUV[]_abcefghijklnprstuvxy

MATL Onlineでお試しください

:間違いを修正01および\誤って(後のコメントに残された%最後で)。それらを削除しても機能が損なわれることはありません。有効に保つために、この回答を32から33に移動しました。削除する必要がある場合はお知らせください。それを実行します。


1
PPCGへのWelcpme!:)
betseg

おかげで、今は修正されています。0 1と\は最後(%の後)のコメントに含まれていたため、削除してもプログラムの機能には影響しません。チェーンを台無しにしてすみません。

おそらく最もスムーズな修正は、Python 3の回答を#32としてカウントしそれを#33に変更することですか?余裕のあるキャラクターがあるようです:)
グレッグマーティン

おそらくリストを追加してからリストに含まれていないものから-を削除する必要があります
-fəˈnɛtɪk

5

36. Java

を追加しました\。を削除しましたqx!&'()/1?AEIKLMNPSTWZ`dmnqtwxz{}|~[]、タブ、スペースは使用しません。

\u002f\u002f"#$%*:>@BCGHJOQRUVXY^_jk
class
Fibo\u006eacci\u007b
i\u006e\u0074
fib\u0028i\u006e\u0074
\u006e\u0029\u007b
i\u006e\u0074
lo\u0077=0,high=3-2,\u0074e\u006Dp;
for\u0028i\u006e\u0074
i=3-2;i<\u006e;i++\u0029\u007b
\u0074e\u006Dp=lo\u0077;
lo\u0077=high;
high=high+\u0074e\u006Dp;
\u007D
re\u0074ur\u006e
lo\u0077;
\u007D
public
s\u0074a\u0074ic
voi\u0064
\u006Dai\u006e\u0028\u0053\u0074ri\u006eg\u005b\u005Db\u0029\u007b
Fibo\u006eacci
a=\u006ee\u0077
Fibo\u006eacci\u0028\u0029;
for\u0028i\u006e\u0074
i=3-2;i<=20;i++\u0029\u007b
\u0053ys\u0074e\u006D.ou\u0074.pri\u006e\u0074l\u006e\u0028a.fib\u0028i\u0029\u0029;
\u007D
\u007D
\u007D

おそらくもっと長く待つことができたのは知っていますが、手遅れになる前にこれを確認したかったのです。このクラスは、整数nを受け取ってそのフィボナッチ数を返す関数を定義するだけでなく、楽しみのために最初の20を出力します。私はこれを卑劣なゴルフのない普通のjavaで書いてデューデリジェンスを試みました。そして、今あなたが見ているクリーチャーに到達するまで、違法なキャラクターを1つずつ削除しました。

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


2
あなたが望んでいた理由は、そうです0
クリストファー・

ダン、チェーンを壊したようだ。:-(
AdmBorkBork

@AdmBorkBork b-しかし、私はqとxを削除しました:[誰がそれらを必要としていました!?私は何かを削除することができた
ポケ

@Pokeが1週間になったので、「勝ちました」。次にもう1つの答えを掲載します
クリストファー

@DownChristopher haha​​ aw:[
ポケ

5

37. Python 2

リードx!&'()/1?AEIMNPSTWZdmnqtwz{}|~[]、スペース、タブ、または ` は使用しません。KとLを削除しました。

f=u"\u0074"
b=u"\u006D"
i=u"\u0028"
j=u"\u0029"
h=u"\u006e"
r=2.2360679775
s=u"\u002F"
exec"p="+i+"3-2+r"+j+s+"2"
exec"g=i"+h+"pu"+f+i+j
exec"pri"+h+f+i+"i"+h+f+i+i+"p**g-"+i+"-p"+j+"**-g"+j+s+"r"+j+j
#$%´:;<=>@BCGHJOQRUVXY^agklopvy

コメント付き:

f=u"\u0074" #t
b=u"\u006D" #m
i=u"\u0028" #(
j=u"\u0029" #)
h=u"\u006e" #n
r=2.2360679775 #sqrt(5)
s=u"\u002F" #/
exec"p="+i+"3-2+r"+j+s+"2" #p=(3-2+r)/2 = (1+sqrt(5))/2 = phi
exec"g=i"+h+"pu"+f+i+j #g=input()
exec"pri"+h+f+i+"i"+h+f+i+i+"p**g-"+i+"-p"+j+"**-g"+j+s+"r"+j+j #print(int((p**g-(-p)**-g)/r))

このアプローチでは、フィボナッチ数列の一般用語を使用します。


素敵な最初の答え!言うまでもなく、私は別のものを追加しました:P-
クリストファー



3

12. Python 3

:削除された追加に{;{};`01AEIPQxタブ文字が含まれていません。

#!"#$%&\',./23456789?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwyz|~:
def fib(n,a=3-2,b=3-2):
 if n==2-2:
  return a
 a, b = b, a + b
 return fib(n-1,a,b)

削除するの{;ではなく、削除するということです};
-L3viathan



3

34. ブレインファック

改行を追加し、削除しn、を追加しましたt!&'()/\01?AEIKLMNPSTWZ`dmntwz{}|~、タブ、スペースは使用しません。(おそらく、2D言語を入手できるかもしれません)

0インデックス。入出力はバイト値です。

,[->]+>+<<[->>[->+<]<[->+<]>>[-<+<+>>]<<<]>>.
"#$%*23456789:;=@BCDFGHJOQRUVXY^_abcefghijklopqrsuvxy

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


@ポケ完了。私はそれを追加しました
クリストファー


2

11. 標準ML(mosml)

を追加しました+。を削除しました:}:}0`1AEIPQx文字が含まれていないか、タブ文字がありません。

(* !"#$%&\',./23456789;<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwyz{|~ *)
fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2)

SMLはTIOではなく、モスクワのmlを使用しましたが、ここにはオンラインのSMLNJインタープリターがあります


2

10. C

追加m、削除PQ+`01AEIPQx文字が含まれていないか、タブ文字がありません。

コンパイラフラグ: -lm

//!"#$%&'*346789:<=>?@BCDFGHJKLMNORSTUVWXYZ[\]^_acfghkmvyz|.

double fib(i){
    double j = -(-~-2-sqrt(5))/2;
    return floor((pow(j,i)-pow(-j,-i))/sqrt(5));
}

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


.コメントにまだ記載されていません。
L3viathan

2

9. Python 2

追加-、削除m、およびx+`01AEImxタブ文字が含まれていません。

# --!"$%&'*./29;:<>?@[\]^345678BCDFGHJKLMNOPQRSTUVWXYZabcdeghijklopqrstuvwyz{|}~,_

def fibonacci(n):
    elif n==(2/2):
        return 2-2
    elif n==2:
        return 2/2
    else:
        return fibonacci(n-2/2)-(-(fibonacci(n-2)))

再帰的なPython関数!1になるまですべてのフィボナッチ数を後方に追加しますn


コードに大文字を追加するのを忘れた
コナーオブライエン

1
あなたはまだバック1345678BCDFGHJKLMNOPQRSTUVWXYZ
ティック

@KyleGullion前回の回答は、そのキャラクターセットに1またはバックティックがありませんでした
アンソニーファム

私が意味することを示すために編集提案をしました。
カイルガリオン

2

18. オクターブ

追加;および削除f、スペース。ソリューションには{}:`*%01AEIPQfrd、タブ、改行、スペース文字が含まれていません。

g=@(x)([4-3,4-3;4-3,4-4]^x)(3)#!"$&'+./256789<>?BCDFGHJKLMNORSTUVWXYZ\_abcehijklmnopqstuvwyz|~

SMLがもっと嫌いなだけで、回答8と同じ:P


意図的に試してみて、物事を壊さないでくださいあまりにも多くの。少し友好的な「競争力のある協力」は良いことですが、答え連鎖の課題の明確な目標は、可能な限り長く続けることです。:)
AdmBorkBork

1
OctaveとSMLの間のちょっとした楽しみ。それに、Lenguageの適切なタイミングで答えを出せば、最終的に私は思うようになります。
カイルガリオン

2

23.標準ML(mosml)

もう一度行きます。追加Q、削除}、および]%&*+01:AEILMPZ`dmrzM{}]、タブ、または改行を使用しません

fun f x = #2("!#$\\',.23456789<>?@BCDFGHJKNOQRSTUVWXY[/;^_abcgjkopqvwxy|~", if x = 2-2 then 2-2 else if x = 3-2 then 3-2 else f (~(~(x-4)-2)) + f (x-(~3-2)))

@Emignaそう、ごめんなさい。その後、Q代わりに許可します。
-L3viathan

2

25. CJam

追加+、削除、削除SしましたT%&*01AEILMPSTZ`dmrz{}]Ww、タブ、または改行を使用しません。

基本的には私の古い答えの移植版ですが、これは、中括弧の欠如を回避するためにいくつかの評価的な策略を使用しています。

q~"XX"a:~'|("_(j\((j+"'|)'j+++~e# !$,-./23456789;<=>?@BCDFGHJKNOQRUVY[^bcfghiklnopstuvxy

0インデックス。

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


2

27. JavaScript

追加*、削除"、および'"&'01AEIKLMNPSTZ`dmrz{}]Ww、タブ、または改行を使用しません。

f=a=>a<2?3-2:f(a-3+2)+f(a-4+2)/* !#$,.56789;%@BCDFGHJOQRUVXY[\^_bceghijklnopqstuvxy|~*/


2

30. 標準ML

追加:、削除+、および?!&'+-01?AEIKLMNPSTWZ`dmrwz{}空白が含まれていないか、含まれていません。

fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)n;("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[]))

最初の部分fun$(a,b,x)n=if(length(x)=n)then(length(a))else$(b,a@b,()::x)nは、単項リストエンコーディングを使用してフィボナッチ数を繰り返し$計算する関数を定義しますn。引数の長さはx現在の数を示し、 aおよびbは長さfib(length(x)-1)とのリストですfib(length(x))。場合n等しいlength(x)我々は返すlength(b)そうでない場合、再帰的に追加、aおよびbリストの連結および増分を経由してx要素を追加することにより、()を。

第二の部分は、("#%*./23456789<>BCDFGHJOQRUVXY\\^_cjkopqvy|~";$([],[()],[]))文字列が破棄されている配列である$([],[()],[])関数の初期化である$a = 0b = 1そしてx = 0、n番目のフィボナッチ数を計算匿名関数が得られます。


2

32、Python 3

exec(chr(2**2+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2+2**2+2**5+2**6)+chr(2**5)+chr(2+2**2+2**5+2**6)+chr(2**3+2**5)+chr(2**3+2**4+2**5+2**6)+chr((3^2)+2**3+2**5)+chr(2+2**3+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr((3^2)+2**5+2**6)+chr((3^2)+2**2+2**3+2**4+2**5)+chr(2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2+2**5+2**6)+chr((3^2)+2**2+2**3+2**4+2**5)+chr((3^2)+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2+2**2+2**5+2**6)+chr((3^2)+2+2**2+2**3+2**5+2**6)+chr(2+2**4+2**5+2**6)+chr(2**5)+chr((3^2)+2+2**2+2**3+2**4+2**6)+chr(2**5)+chr((3^2)+2**3+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr(2**5)+chr(2+2**4+2**5+2**6)+chr((3^2)+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr((3^2)+2+2**2+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2**3+2**5)+chr(2**3+2**4+2**5+2**6)+chr((3^2)+2**3+2**5)+chr(2+2**3+2**4+2**5)+chr(2+2**3)+chr(2**5)+chr(2**5)+chr((3^2)+2**5+2**6)+chr(2**2+2**3+2**5)+chr(2+2**5+2**6)+chr(2**5)+chr((3^2)+2**2+2**3+2**4+2**5)+chr(2**5)+chr((3^2)+2**5+2**6)+chr((3^2)+2+2**3+2**5)+chr(2+2**5+2**6)+chr(2**2+2**3+2**5)+chr((3^2)+2**5+2**6)+chr(2+2**3)+chr(2**5)+chr(2+2**4+2**5+2**6)+chr((3^2)+2**2+2**5+2**6)+chr(2**2+2**4+2**5+2**6)+chr((3^2)+2**2+2**4+2**5+2**6)+chr(2+2**4+2**5+2**6)+chr(2+2**2+2**3+2**5+2**6)+chr(2**5)+chr((3^2)+2**5+2**6))#"$%,.789:;<=>@BCDFGHJOQRUVXY[]_abfgijklnopqstuvy

追加rおよび削除しました|~。ソリューションには!&'/\-01?AEIKLMNPSTWZ`dmrwz{}|~、タブ、改行、スペース文字が含まれていません。


2

39. Python 2

を追加しました0。を削除しました@^!^&'()/1?@AEIMNPSTWZdmntwz{}|~[] `、タブ、改行は使用しません。

C=u"f=la\u006Db\u0064a\u0020X:3-2if\u0020X<2else\u0020f\u0028X-3+2\u0029+f\u0028X-2\u0029";exec""+C#$%*,.57>BFGHJKLOQRUVY_ghjkopqrvy

エスケープシーケンスなしのexecへの引数:

f=lambda X:3-2if X<2else f(X-3+2)+f(X-2)

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


2

38. Matl

を追加しましたq。を削除しました0 <newline>!&'()/1?AEIKLM0NPSTW{Z`dmntwxz}|~[]、タブ、改行、スペースは使用しません。

5X^Hq+G^Hq5X^-G^-HG^5X^*Hqqq^*Yo%"#$,.2346789:;<=>@BCDFJORUV_abcefghijklprsuvy

オンラインで試す


この回答は機能せず、含まれていますq
カイルガリオン

いつ{準備されましたか?
破壊可能なレモン

(まだ使用しないリストによると{を使用します)
破壊可能なレモン

回答37ではを使用xしていますが、削除していませんが、制限されています。コメントの最後にxを追加できますか?また、制限リストにはを使用しないと記載されqているため、削除する必要があります。
NieDzejkob

ネヴァーマインド編集を送った、ということ
NieDzejkob


1

13。 標準ML(mosml)

を追加しましたx。を削除しました:r:;{}0`1AEIPQr文字が含まれていないか、タブ文字がありません。

(* !"#$%&\',./23456789<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqvwxyz|~ *)
fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2)

Cスタイル言語をほとんど除外した後、Pythonを使いましょう。この回答は回答11とほとんど同じです。


1

14. オクターブ

r改行とスペースを追加および削除しました。ソリューションには{}:;`01AEIPQ、タブ、改行、スペース文字が含まれていません。

f=@(n)round(((2/2+sqrt(5))/2)^n/sqrt(5))%!"#$&'*-,.346789<>?BCDFGHJKLMNORSTUVWXYZ[\]_abceghijklmpvwyz|~

閉じた形式の式(7)に基づきます。


1

16. オクターブ

/*とスペースを追加および削除しました。ソリューションには{}:;`*%01AEIPQ、タブ、改行、スペース文字が含まれていません。

f=@(n)round(((2/2+sqrt(5))/2)^n/sqrt(5))#!"$&'-,.346789<>?BCDFGHJKLMNORSTUVWXYZ[\]_abceghijklmpvwyz|~

同一の14に答えて、SMLとPythonのちょうど真上攻撃:P


よくやった。私にできることがわかります。
L3viathan

1

15.標準ML(mosml)

スペースを追加して削除しました%/{}:;`01AEIPQ、タブ、改行は含まれません。

fun f s = if s = 2-2 then 2-2 else if s = 3-2 then 3-2 else f (s-4+2) + f (s-3+2) (* !"#$&\',.23456789<>?@BCDFGHJKLMNORSTUVWXYZ[\]^_abcdgjkmopqrvwxyz|~ *)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.