Khôi phục mã nguồn bị đột biến (đối với kẻ cướp)


8

Đây là luồng đồng hành với chính Phục hồi thử thách mã nguồn (liên kết) bị đột biến . Nếu bạn đã bẻ khóa thành công câu trả lời của cảnh sát, hãy đăng giải pháp của bạn dưới dạng câu trả lời cho câu hỏi này.

Xin nhắc lại, đây là các quy tắc cướp từ thử thách chính một lần nữa:

Tên cướp sẽ cố gắng thay đổi chương trình của cảnh sát (hoàn thành Nhiệm vụ số 1) thành chương trình hoàn thành Nhiệm vụ số 2 (không nhất thiết là chương trình gốc được viết bởi cảnh sát) trong khoảng cách chỉnh sửa được chỉ định bởi cảnh sát.

Một bản đệ trình đã bị bẻ khóa không thể bị bẻ khóa một lần nữa (chỉ có tên cướp đầu tiên bẻ khóa bài nộp mới được ghi nhận).

Sau khi bẻ khóa một bài nộp, xin vui lòng làm như sau:

  • Đăng câu trả lời cho câu hỏi (liên kết) đi kèm của thử thách này , cung cấp ngôn ngữ, giải pháp của bạn và liên kết đến câu trả lời ban đầu.
  • Để lại một bình luận với văn bản "Cracked" liên kết đến câu trả lời được đăng của bạn.
  • Chỉnh sửa câu trả lời của cảnh sát nếu bạn có đặc quyền chỉnh sửa (nếu bạn không, hãy đợi cho đến khi người khác có đặc quyền bắt buộc làm như vậy cho bạn hoặc đề nghị chỉnh sửa).

Và ghi bàn:

Nếu một tên cướp phá vỡ thành công bản đệ trình của cảnh sát, điểm của tên cướp sẽ tăng lên theo khoảng cách chỉnh sửa của bản đệ trình đó. Ví dụ, một tên cướp phá vỡ một bài nộp với khoảng cách chỉnh sửa là 3 và một với khoảng cách 5 kiếm được 8 điểm. Tên cướp có số điểm cao nhất sẽ chiến thắng. Trong trường hợp hòa, người cướp nào giành được điểm số trước sẽ thắng.

Bảng xếp hạng

Không có đệ trình bị nứt nào.


2
Ai đang duy trì bảng xếp hạng? Ngoài ra, tôi nghĩ rằng điểm của độc giả sẽ tăng lên nhiều hơn nếu khoảng cách ít hơn, vì điều đó có vẻ khó hơn với tôi.
TimTech

Câu trả lời:


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

Sử dụng 12 chỉnh sửa. Đặt thêm #vào để làm cho nó 13.


Bạn cần sử dụng tất cả 13 chỉnh sửa, nhưng điều đó có thể dễ dàng được khắc phục bằng cách thêm một ký tự khác trong bình luận.
Doorknob

Khỉ thật, tôi quên bình luận là một điều: / Ban đầu tôi đã thay đổi phạm vi để bắt đầu từ 1 và xóa ~; P
FryAmTheEggman

@FryAmTheEggman Nếu bạn không muốn bình luận, bạn có thể thay đổi phạm vi từ nthành n, để allđánh giá thành True. Nhưng ~-TrueFalsevậy, trong khi đó sẽ không chạy.
Sp3000

Tôi không "muốn" không có ý kiến, nó chỉ làm cho việc này dễ dàng hơn nhiều so với tôi nghĩ. Bên cạnh đó, đó là một ý tưởng gọn gàng hơn nhiều so với những gì tôi nghĩ ra;)
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]

Khi kiểm tra kỹ hơn, điều này hơi khác so với cách tiếp cận ban đầu tôi có. Thú vị ...
Sp3000


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, matjoyce

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)

Chương trình Fibonacci đã có một cách kỳ lạ ở đó ... chỉ cần 5 lần chỉnh sửa để có được nó.


Vâng, tôi đã thiết kế nó từ đầu sai (và đăng nó, cho đến khi Sp3000 phát hiện ra nó), vì vậy nó trông hơi kỳ lạ.
matjoyce


1

Con trăn 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('!')]

Tôi đã sử dụng 9 lần chỉnh sửa để có được một chương trình Fibonacci.


@ MartinBüttner Tôi có 12. Xem lập luận vô nghĩa để input.
frageum

Chà ... tôi tin rằng điều này sẽ tạo ra !. Vẫn chấp nhận điều này là hợp lệ, bạn có thể đặt bất kỳ ký tự nào trong nhận xét,
PurkkaKoodari

@ Pietu1998 Có gì sai khi có lời nhắc về đầu vào của người dùng?
frageum

Không có gì, nhưng điều này là hoạt động khác nhau.
PurkkaKoodari

1

JAGL, toàn cầu

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

Nó có thể không phải là cách tiếp cận hiệu quả nhất, nó gần như chắc chắn không phải là mã của Cop, nhưng nó hoạt động và cách xa 12.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.