変異したソースコードを回復する(強盗用)


8

これは、変更されたソースコード(リンク)チャレンジを回復するメインのコンパニオンスレッドです。警官の回答の解読に成功した場合は、この質問への回答としてソリューションを投稿してください。

念のため、ここにもメインの挑戦からの強盗ルールがあります:

強盗は、警官のプログラム(タスク#1を完了する)を、警官によって指定された編集距離でタスク#2(必ずしも警官によって書かれた元のプログラムではない)を完了するプログラムに変更しようとします。

すでにクラックされた提出物を再度クラックすることはできません(提出物をクラックした最初の強盗だけがクレジットを取得します)。

提出物をクラックした後、以下を実行してください:

  • このチャレンジに付随する質問(リンク)の回答投稿し、言語、ソリューション、および元の回答へのリンクを提供します。
  • 投稿した回答にリンクする「ひびの入った」というテキストでコメント残します。
  • 編集権限がある場合は、警官の回答を編集します(権限がない場合は、必要な権限を持つ他の人がそうするまで待つか、編集を提案します)。

そしてスコアリング:

強盗が警官の提出物を無事にクラックした場合、強盗のスコアはその提出物の編集距離だけ上がります。たとえば、編集距離が3の提出物と距離が5の提出物をクラックする強盗は、8ポイントを獲得します。最もスコアの高い強盗が勝利します。同点の場合、スコアを獲得した強盗が最初に勝ちます。

リーダーボード

クラックされた提出物はまだありません。


2
誰がリーダーボードを管理していますか?また、距離が近ければ読者のスコアはもっと上がるはずだと思います。
Timtech 2014

回答:


3

Python 2、FryAmTheEggman

x=n=1;j=input();
while j>2:
    x,n=n,x+n;j-=1;
    ##while~-all(n%i for i in range(2,n)):n+=1;
print n

12の編集を使用しました。#それを作るために余分を入れてください13。


13の編集すべてを使用する必要がありますが、コメントに別の文字を追加することで簡単に修正できます。
ドアノブ

; P /もともと私は1から開始する範囲を変更し、〜削除:くそ、私はコメントは事だった忘れてしまった
FryAmTheEggman

@FryAmTheEggmanコメントが不要な場合は、範囲をからnに変更しnて、がにall評価されるようにすることができますTrue。しかし~-TrueれるFalseので、しばらくは実行されません。
Sp3000、2014

私はコメントを「したくなかった」のではなく、思ったよりずっと簡単になりました。その上、それは私が思いついたものよりもずっと
すてきなアイデア

3

Python 2、Sp3000

from fractions import*
n=input()
k,=P=[1]
while n>len(P):k+=1;z=reduce(lambda x,y:x+y,P[~1:]);P+=[z]#*(gcd(z,k)<2)
print P[-1]

詳細に見ると、これは私が当初持っていたアプローチとは少し異なります。興味深い...
Sp3000 14


2

Python 3、Sp3000

x=n= int(input())       # 3
P = [1,1]               #+2 = 5
k = 2
while n >=len(P):       #+1 = 6
 k += 1
 for x in P:
  if k%x ==~0: break    #+1 = 7
 else: P += [P[-2]+x]   #+7 = 14
print(x)

1

Python 3、matsjoyce

a,c,n=1,1,int(input())
while n-1:
 #c+=1
 ##########list(map(c.__mod__,range(2,46))).count(0):
 a,c=a+c,a
 n-=1
print(c)

フィボナッチプログラムは不思議なことにすでにそこにありました...それを得るために5回の編集だけが必要でした。


ええ、私は間違った端からそれを設計しました(そして、Sp3000がそれを見つけるまで、それを投稿しました)ので、それは少し奇妙に見えます。
matsjoyce 2014


1

Python 2、Pietu1998

f=lambda p,i:p if p[45:]else f(p+[i]#f all(i%q for q in p[1:])else
,p[-1]+i)
print f([1,1,1],2)[input('!')]

私はフィボナッチプログラムを取得するために9つの編集を使用しました。


@MartinBüttner私は12を持っていますinput。への無意味な議論を見てください。
feersum 2014

まあ...これはを出力すると思います!。これを
引き続き

@ Pietu1998ユーザー入力時にプロンプ​​トが表示されることの何が問題になっていますか?
feersum 14

何もありませんが、これは操作上異なります。
PurkkaKoodari 2014

1

JAGL、globby

T~2]d]2C{cSdc+c]}wSP

それは最も効率的なアプローチではないかもしれません、それはほぼ間違いなくCopのコードではありませんが、それは機能し、その12は離れています。


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