Pulihkan kode sumber yang dimutasi (untuk perampok)

8

Ini adalah utas utas ke utama Memulihkan tantangan kode sumber bermutasi (tautan) . Jika Anda berhasil memecahkan jawaban polisi, kirimkan solusi Anda sebagai jawaban untuk pertanyaan ini.

Sebagai pengingat, berikut adalah aturan perampok dari tantangan utama lagi:

Perampok akan berusaha mengubah program polisi (yang menyelesaikan Tugas # 1) menjadi program yang menyelesaikan Tugas # 2 (tidak harus program asli yang ditulis oleh polisi) dalam jarak sunting yang ditentukan oleh polisi.

Kiriman yang sudah-retak tidak bisa dipecahkan lagi (hanya perampok pertama yang memecahkan kiriman yang mendapat kredit).

Setelah memecahkan kiriman, silakan lakukan hal berikut:

  • Posting jawaban untuk pertanyaan yang menyertai tantangan ini (tautan) , berikan bahasa, solusi Anda, dan tautan ke jawaban asli.
  • Tinggalkan komentar dengan teks "Retak" yang menautkan ke jawaban Anda yang diposting.
  • Edit jawaban polisi jika Anda memiliki hak istimewa edit (jika tidak, tunggu sampai orang lain dengan hak istimewa yang diperlukan melakukannya untuk Anda atau menyarankan edit).

Dan mencetak:

Jika seorang perampok berhasil memecahkan kiriman polisi, skor perampok naik oleh jarak pengeditan kiriman itu. Misalnya, seorang perampok yang memecahkan kiriman dengan jarak edit 3 dan satu dengan jarak 5 menghasilkan 8 poin. Perampok dengan skor tertinggi menang. Dalam hal seri, perampok yang mendapatkan skor pertama menang.

Papan peringkat

Belum ada pengiriman yang retak.

Gagang pintu
sumber
2
Siapa yang mempertahankan leaderboard? Dan juga, saya pikir skor pembaca harus naik lebih jika jaraknya kurang, karena itu akan terasa lebih sulit bagi saya.
Timtech

Jawaban:

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

Digunakan 12 suntingan. Masukkan ekstra #untuk membuatnya 13.

Sp3000
sumber
Anda perlu menggunakan semua 13 suntingan, tetapi itu dapat dengan mudah diperbaiki dengan menambahkan karakter lain di komentar.
Gagang Pintu
Sial, saya lupa komentar adalah sesuatu: / Awalnya saya mengubah rentang untuk mulai dari 1 dan menghapus ~; P
FryAmTheEggman
@FryAmTheEggman Jika Anda tidak ingin komentar, Anda dapat mengubah rentang dari nmenjadi n, sehingga allevaluasi menjadi True. Tapi ~-Trueini False, maka sementara tidak akan berjalan.
Sp3000
Saya tidak "ingin" tidak ada komentar, itu hanya membuat ini jauh lebih mudah daripada yang saya kira. Selain itu, itu ide yang jauh lebih rapi daripada yang saya pikirkan;)
FryAmTheEggman
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]
feersum
sumber
Pada pemeriksaan lebih dekat, ini sedikit berbeda dengan pendekatan yang awalnya saya miliki. Menarik ...
Sp3000
3

J, grc

   f=:3 :'{.+/(!|.)i.y'

   f 45
1134903170
randomra
sumber
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)
feersum
sumber
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)

Program Fibonacci anehnya sudah ada di sana ... hanya perlu 5 suntingan untuk mendapatkannya.

feersum
sumber
Ya, saya mendesainnya dari ujung yang salah (dan mempostingnya, hingga Sp3000 melihatnya), sehingga terlihat sedikit aneh.
matsjoyce
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('!')]

Saya menggunakan 9 suntingan untuk mendapatkan program Fibonacci.

feersum
sumber
@ MartinBüttner Saya punya 12. Lihat argumen sia-sia untuk input.
feersum
Yah ... Saya percaya ini akan menampilkan !. Masih menerima ini sebagai valid, Anda dapat memasukkan karakter apa pun dalam komentar,
PurkkaKoodari
@ Pietu1998 Apa yang salah dengan memiliki prompt pada input pengguna?
feersum
Tidak ada, tetapi ini berbeda secara operasional.
PurkkaKoodari
1

JAGL, Globby

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

Ini mungkin bukan pendekatan yang paling efisien, hampir pasti bukan kode Cop, tetapi berhasil, dan 12 jauhnya.

matsjoyce
sumber
1

Ruby, histokrat

p [x=1,y=1,*(1..200).map{|i|z=y;y+=(y*x**(i-1)+x%2).divmod(i)[2-1]?x:1;x=z;y}].-([x-1])[gets.to_i-1]
Vektor
sumber