Hai sự khác biệt - Cướp


29

Đối với thử thách của cảnh sát chính, bấm vào đây

THÔNG BÁO - Thử thách này hiện đang đóng cửa. Bất kỳ vết nứt nào được đăng bây giờ sẽ không được tính vào bảng xếp hạng và câu trả lời được chấp nhận sẽ không thay đổi.

Thử thách

Với chương trình gốc, đầu ra của nó và đầu ra của chương trình đã thay đổi, bạn phải tìm ra những ký tự nào cần được thay đổi, loại bỏ hoặc thêm vào để có được đầu ra mong đợi.

Khi bạn bẻ khóa mã của ai đó, hãy để lại nhận xét có liên kết đến vết nứt của bạn trên câu trả lời của họ.

Định dạng

# [<language>, <username of program owner>](<link to answer>)

## Description

<description of change and how you found it>

## Code

<changed code>

Chiến thắng

Người nào bẻ khóa được nhiều giải pháp nhất sẽ thắng.

Bảng xếp hạng

13 vết nứt:

  • Dennis

8 vết nứt:

  • Alex Van Lôi

5 vết nứt:

  • Sp3000
  • isaacg

3 vết nứt:

  • Luis Mendo
  • tháng sáu năm 2013
  • Dom Hastings

2 vết nứt:

  • mbomb007
  • Sluck49

1 vết nứt:

  • Số một
  • Jakube
  • Tự hào
  • David Zhang
  • samgak
  • paul.oderso
  • rayryeng
  • mgibsonbr
  • n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
  • Stewie Griffin
  • abligh

1
@ mbomb007 Bạn có thể không chỉnh sửa bài đăng này không, vì điều đó khiến tôi khó biết mình đang ở đâu khi cập nhật bảng xếp hạng
Beta Decay

Câu trả lời:


10

CJam, bởi Mauris

Sự miêu tả

Mã ban đầu của Mauris thực hiện như sau:

"f~"     e# Push that string on the stack.
    :i   e# Cast each to integer. Pushes [102 126].
      :# e# Reduce by exponentiation. Pushes 102^126.

Không có toán tử toán học nào khác của CJam sẽ mang lại một số lượng lớn cho các đầu vào nhỏ, do đó :#không thể sửa đổi. Vì #, khi được sử dụng cho lũy thừa, chỉ lấy số nguyên làm đầu vào, :icũng không thể được loại bỏ. Điều này chỉ để lại một nơi để sửa đổi đầu vào: chuỗi "f~".

Cho dù chuỗi có bao nhiêu ký tự, kết quả sẽ là một tháp quyền lực liên kết trái. CJam hỗ trợ các ký tự trong phạm vi từ 0 đến 65535 (ngoại trừ người thay thế), vì vậy chúng tôi phải thể hiện đầu ra là b n × k × j , trong đó b , n , kj là các số nguyên trong phạm vi đó.

Logarit thập phân của số nguyên kết quả từ mã được sửa đổi nhỏ hơn một chút so với log 10 (2.44 × 10 242545 ) = log 10 (2.44) + 242545 , vì vậy chúng ta có thể chia giá trị này cho logarit của tất cả các cơ sở có thể để tìm giá trị phù hợp cho n × k × j .

Trong thực tế:

$ cjam <(echo '65536,2>{2.44AmL242545+1$AmL/i:I#s8<"24399707"=}=SIN')
5 347004

So sánh 8 chữ số đầu tiên hóa ra là đủ.

Điều này có nghĩa là chúng ta có thể biểu thị đầu ra là 5 347.004 = 15625 57.834 = 125 9 × 102 × 126 , do đó, nó đủ để thay thế "f~"bằng "㴉"hoặc"} f~" .

"㴉":i:#

hoặc là

"}  f~":i:#

Lưu ý rằng các khoảng trắng trong mã ASCII thực sự phải là một bảng.

Cố gắng thực thi mã này trong trình thông dịch trực tuyến có thể là một ý tưởng tồi, nhưng đây là cách bạn có thể xác minh kết quả từ dòng lệnh:

$ wget -q https://bpaste.net/raw/f449928d9870
$ cjam <(echo '[15625 57834]:c`":i:#") > mauris.cjam
$ cat mauris.cjam; echo
"㴉":i:#
$ cjam mauris.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
$ echo -en '"}\tf~":i:#' > mauris-ascii.cjam
$ cat mauris.cjam; echo
"}  f~":i:#
$ cjam mauris-ascii.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical

11
Một người không chỉ đơn giản là đánh bại Dennis trong CJam
Fatalize

Làm thế nào bạn tìm ra những con số để sử dụng?
Alex Van Liew

@AlexVanLiew Lực lượng vũ phu. Tôi hiện đang viết một lời giải thích. Tôi chỉ muốn có được các vết nứt được đăng trước khi người khác làm.
Dennis

@Dennis: Đủ công bằng. Tôi đã thử cái này nhưng tôi không biết CJam; Tôi đã tìm ra giải pháp dự định liên quan đến việc sử dụng thực sự ~fở đâu đó trong chương trình.
Alex Van Liew

1
@Mauris Câu hỏi cho biết khi chỉ cần thay đổi hai nhân vật trong chương trình (nhấn mạnh vào tôi), vì vậy tôi cho rằng điều này là ổn. Dù sao, yếu tố số lượng là phần khó khăn.
Dennis

15

Ruby, lịch sử

Sự miêu tả

Thay đổi x thành một mảng thay vì vô hướng bằng cách thêm *

Thay đổi cuối cùng 9thành một chuỗi thay vì một số bằng cách thêm?

Kết quả được tạo từ một mảng với một phần tử ( [9]) nhân 9 lần sau đó được mã hóa "9"thành dấu phân cách.

x=*9;puts x*9*?9

12

Con trăn 2, cá bùn

Sự miêu tả

Thông qua các thử nghiệm và khổ nạn liên quan đến việc nhân tố số lượng lớn và tìm kiếm các yếu tố hệ quả, tôi nhận ra rằng thay đổi 87654 thành 58116 là đủ. Sau đó, tôi tính hệ số 58116 là 87 * 668. Sau đó, tôi nhận ra rằng 01234 = 668, vì vậy tôi chỉ cần thay đổi 87654 thành 87 và xóa hoàn toàn 01234. Điều này được thực hiện với một bình luận.

print (sum(range(054321)*9876)*87)#654)/01234

Đúng, gần như chính xác làm thế nào tôi có nó (Của tôi print sum(range(054321)*9876)*87#654)/01234)
Blue

Khéo léo thông minh! Tôi rất vui vì ai đó đã nhận được nó, và nó thú vị hơn là "chơi với những con số"!
Alex Van Liew

11

Shakespeare, InsideFire

Trong Cảnh III, người ta phải thay đổi Claudius thành Claudio trong đoạn trích sau:

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

Mã sửa đổi:

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudio:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!
[Exeunt]

Sử dụng trình biên dịch được liên kết bởi @A UpperFire, bản in này 11.


2
Bạn có thể vui lòng làm rõ hơn những nhân vật đã được thay đổi? Thật không dễ dàng để nhìn qua lại.
mbomb007

Chết tiệt, trễ 15 phút. Xin chúc mừng.
Sumyrda

2
Jeebus H. Christ. Công việc tốt!
rayryeng - Phục hồi Monica

1
@ mbomb007 Tôi hy vọng chỉnh sửa của tôi làm cho nó rõ ràng hơn. TrênFire: xin lỗi :)
plannapus

3
@plannapus Haha, không sao, nhưng cách dự định để xóa nó là thay từ "vua" bằng "con lợn". Với sự thay đổi này, Helena bằng 0 và "tổng của bạn và sản phẩm của tôi và Helen và Helena "bằng 1. Tôi đã lập một danh sách tất cả các từ có thể đảo ngược bằng hai chữ cái và sử dụng rất nhiều từ đó trong mã của tôi (ví dụ: joy-> hog-> son, war-> cat, road-> cóc, Hero-> Hell, lời nguyền-> ví, helen-> helena, claudio-> claudius và nhiều người khác) Điều duy nhất có thể thay đổi chương trình Shakespeare với 2 char là thay đổi biến, thay đổi một danh từ và sự thay đổi của một goto.
TrênFire



7

C, LambdaBeta

Sự miêu tả

Biến main(a,_)thành main(_). Đối số đầu tiên của chính argclà khởi tạo là 1.

main(_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}

Đó là giải pháp tôi có trong đầu. Bắt đẹp. Ngẫu nhiên nếu argv tình cờ được tải vào ô nhớ 1 thì điều này sẽ không hoạt động. Tôi không thể nghĩ ra bất kỳ hệ thống nào có thể làm điều đó cũng có thể chạy các ngôn ngữ được diễn giải khác nhau trên trang đó.
LambdaBeta

6

Python 2, rp.belrann

Thay đổi sự hiểu biết danh sách ngoài cùng thành một sự hiểu biết thiết lập. Tín dụng một phần cho @ mbomb007, người đã loại bỏ tất cả các giải pháp "nhàm chán" (hoán đổi xyxung quanh, điều chỉnh các nhà khai thác, thay đổi phạm vi).

'~'*sum({(x,y)[x%2] for x in[y for y in range(8)]})

Giải trình:

Trong bản gốc, [(x,y)[x%2]for x in[y for y in range(8)]]tạo danh sách sau:

[0, 7, 2, 7, 4, 7, 6, 7]

Điều này là do trong Python 2.7, sự hiểu ybiết trong danh sách bên trong rò rỉ vào phạm vi kèm theo ở giá trị được biết đến cuối cùng của nó (ở cuối phạm vi là 7). Vì vậy, trong tuple, yluôn là 7. xTuy nhiên, đi qua danh sách như bình thường, từ 0 đến 7. Khi xchẵn, nó chọn giá trị của x, khi lẻ, nó chọn y(luôn luôn là 7). Tôi nhận thấy rằng nếu tôi bao gồm chính xác một 7 và tất cả các giá trị còn lại của x, tôi nhận được 19; sau đó tôi nhận ra rằng tôi có thể chuyển đổi sự hiểu biết bên ngoài thành sự hiểu biết tập hợp, điều này sẽ loại bỏ tất cả các giá trị trùng lặp và để lại cho tôi chính xác 19.

Điều này khá thông minh, tôi không nghĩ rằng tôi đã từng sử dụng một sự hiểu biết thiết lập trước đó. Thanh danh.


không Không phải vậy đâu. print len('~'*sum([(x,y)[x%2]for x in[y for y in range(6)]]))trả lại 21. Chỉ cần gán mã cho một biến sau đó in nếu nó bằng chuỗi bạn muốn. Nếu bạn thấy True, bạn đã crack nó.
mbomb007

Kỳ quái. _phản bội tôi, tôi đoán.
Alex Van Liew

@ mbomb007 Tôi hiểu rồi.
Alex Van Liew

Bạn đã cho tôi. Làm tốt.
rp.beltran


5

Bash, Dennis

Mã gốc:

echo {{{1..9}}}

Đầu ra ban đầu:

{{1}} {{2}} {{3}} {{4}} {{5}} {{6}} {{7}} {{8}} {{9}}

Mã sửa đổi:

echo {,{1..9},}

Đầu ra sửa đổi:

1 2 3 4 5 6 7 8 9

Giải trình:

Trong Bash, bạn có thể xuất danh sách các mục được phân tách bằng dấu phẩy bên trong một cặp dấu ngoặc nhọn, như sau:

echo {a,b,c}

in

a b c

Vì vậy, mã sửa đổi đang in ra một danh sách không có gì, các số 1..9, không có gì.


5

MATLAB, Luis Mendo

Mã gốc:

-sin(2:.5:3)    
ans =    
   -0.9093   -0.5985   -0.1411

Câu trả lời mới:

psi(2:.5:3)
ans =
    0.4228    0.7032    0.9228

Sự miêu tả:

Thay đổi -sinthành psi, chức năng đa thê trong MATLAB. Các -dấu hiệu được thay thế bởi pnđược loại bỏ.


4

C, LambdaBeta

Sự miêu tả

Thay đổi -1thành *0kết quả của phép nhân là 0(giá trị giả).

main(a,_){puts(_*_*_*_*_*0?"Expected Output":"?");}

Rất tiếc, có vẻ như tôi đã giới thiệu (lỗ hổng bảo mật?) Trong quá trình chơi golf của mình. Tôi sẽ nhàn rỗi xem nó để xem liệu tôi có thể sửa nó không. Đẹp bắt mặc dù.
LambdaBeta

4

Brainfuck, Kurousagi

Sự miêu tả

Xóa cái đầu tiên >và thay đổi cái đầu tiên <thành.

Đã thử nghiệm tại brainfuck.tk . Lưu ý rằng đầu ra không khớp chính xác với bài của Kurousagi , do SE ăn hết các ký tự không thể in được.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[>.+<-]

@muddyfish Tôi đã liên kết câu trả lời này trong bình luận thứ hai của mình, nhưng tôi vẫn đang chờ xác nhận từ Kurousagi
Sp3000

4

Tưởng tượng, Cain

Bảo mật thông qua che khuất là một hình thức bảo mật rất kém (đặc biệt là khi hai phương thức nằm ngay cạnh nhau trong các tài liệu Fantom và bất kỳ ai biết một hình nổi trông như thế nào sẽ biết ngay lập tức).

Float.makeBits32(1123581321)

1
Bạn đã cho tôi 1 phút !!! chơi tốt
InsideFire

1
Haha bạn đã cho tôi, tận hưởng bản crack miễn phí
Cain

@Cain Có phải đó là cố ý oo
The_Basset_Hound

1
@BassetHound Ý tôi là, đó là một thử nghiệm xã hội nhiều hơn, để xem mọi người có bận tâm học một số ngôn ngữ tối nghĩa cho vết nứt không. Tôi nên làm cho nó khó khăn hơn, để có một số công việc thực tế.
Cain

4

CJam, bởi Basset Hound

25me

Tính e 25 . Hãy thử trực tuyến.

Trình thông dịch trực tuyến cung cấp một kết quả hơi khác trong trình duyệt của tôi, đây dường như là một vấn đề làm tròn.

Trình thông dịch Java in 7.200489933738588E10, là đầu ra mong muốn, nhưng ở một định dạng khác.


Hehe, thật dễ dàng. Đặc biệt là đối với một vị thần CJam. Chính xác.
The_Basset_Hound

4

Python 2, Sp3000

Sự miêu tả

Thay đổi 01234thành 0x1234minđến 9in.

Thực tế đó 4669 = (01234-1)*sum(m<<m in R for m in R)là sai lệch.

R=range(0x1234);print sum(m<<9in(m,n)for m in R for n in R)

Làm tốt lắm! Tôi đã có m<<m in(m,n), nhưng điều chính là thay đổi minthành in.
Sp3000

4

MATLAB / Octave, Stewie Griffin

Sự miêu tả

Điều này yêu cầu phủ định đầu vào vào hàm ẩn danh g, cũng như thay đổi hệ số tỷ lệ củag hàm thành 2 thay vì 7:

>> f=@(x)x^.7;g=@(x)2/f(x);g(-7)

ans =

  -0.3011 - 0.4144i

Cảm ơn bình luận của bạn về câu trả lời (hiện đã bị xóa) của tôi. Tôi đã đăng một cái mới (rất giống) có thể bẻ khóa bằng WolframAlpha. Tôi tin rằng nó công bằng hơn.
Tiến sĩ belisarius


3

Java, TheNumberOne

Sự miêu tả

Chương trình được thực hiện Random.next()một lần với một hạt giống ban đầu Integer.MAX_INTvà tất cả các số hex được chuyển đổi thành số thập phân. Thay đổi hạt giống để bổ sung MAX_INTtạo ra đầu ra:

class T{public static void main(String[]a){System.out.print(((~Integer.MAX_VALUE^25214903917L)&281474976710655L)*25214903917L+11L&281474976710655L);}}

(vì phải có chính xác hai thay đổi, chọn bất kỳ loại thay đổi không thay đổi nào: thêm khoảng trắng ở đâu đó, dấu chấm phẩy bổ sung, v.v.)


1
Thật tuyệt, bạn cũng có thể đã biến Integer.MAX_VALUEthành Integer.MAX_VALUE+1hoặcInteger.MIN_VALUE
TheNumberOne

Ồ, bạn biết gì không? Tôi đã thử +1nhưng vì tôi đang thực hiện nó trong Python nên nó chỉ kéo dài ra, ahaha. Đó là suy nghĩ đầu tiên của tôi, thực sự.
Alex Van Liew

3

Brainfuck, InsideFire

chương trình này là một sửa đổi của mã này cho tôi một câu trả lời cookie. câu trả lời đó hoạt động bằng cách tính toán trước một bảng mã ascii hữu ích gồm các ký tự hữu ích, và sau đó có ba câu lệnh có điều kiện được tạo bởi ba vòng lặp được nhập vào bằng cách 1đặt đúng vị trí.

sự khởi đầu của cách tôi phá mã là mẫu lặp lại trong đầu ra đã thay đổi chủ yếu là những gì được in nếu bạn nhập vòng lặp thứ ba với bảng được dịch chuyển sang trái.

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[->->+<<]]>>>+<<>>>+++[->++++++++++<]>(<)++ .<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>(>)++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

(các ký tự bổ sung được đánh dấu bằng dấu ngoặc đơn)


3

Con trăn 2, cá bùn

Sự miêu tả

Thay đổi <<thành <>(phiên bản không dùng nữa !=) và 0x156thành 0156, điểm mã cho "n"(xuất hiện 3 lần trong chuỗi dài 23 '<built-in function sum>').

print sum((ord(i)<>0156 for i in `sum`))

3

JavaScript, bởi Razvan

Sự miêu tả

Đầu ra được sửa đổi rõ ràng là số tự nhiên của Euler, có thể được truy cập dưới dạng Math['E'] .

Bằng cách thay đổi ''để '3'32để 36, String.fromCharCodetạo raE .

a=1,b=a*2,c=a+b,d=[a+b];while(c>b)c-=a;for(i=1;i<=c;i++)d.push(i);i='3'+c*d['length']*d['length'];alert(Math[String.fromCharCode(i.charCodeAt(0) * i.charCodeAt(1) / 36)])

Vâng đúng rồi. Tuy nhiên, đây thực sự là một cái gì đó sâu sắc hơn nhưng dường như bạn có thể bỏ qua nó với thủ thuật này. Tôi sẽ nghĩ về điều gì khác và tôi sẽ quay lại.
Razvan

3

Tưởng tượng, Cain

Sự miêu tả

Việc lập chỉ mục mảng đã được thiết lập, vì vậy tôi chỉ cần tạo 55. Thành thật mà nói, phần khó nhất là tải xuống ngôn ngữ.

[7115432d/9,219.or(64),37,55,55][3]

(Đã chèn dấu phẩy, 0-> 3)


Chà, thật không phải là giải pháp đã định, cá trích đỏ của tôi là một giải pháp thực tế
Cain

3

Shakespeare, InsideFire

KHÔNG ĐÚNG - xin lỗi :(

Sẽ nhìn xa hơn khi tôi đi làm về. Trong giá trị ban đầu của Claudio là 1132462081 và giá trị của Claudius là 1

Trong cảnh cuối cùng, giá trị của Claudio được in hai lần,

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!

mở trái tim của bạn x2 = giá trị in của người khác trên sân khấu (Claudio). Vì vậy, nếu bạn thay đổi Claudius thành Claudio (2 ký tự) - giá trị của Claudius sẽ được in - tức là 1 - hai lần

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudio: << changed Claudius to Claudio
 Open your heart!
 Open your heart!
[Exeunt]

Không, giá trị của Claudio không phải là 1 xD. Chúc may mắn lần sau.
TrênFire

@A UpperFire - crud .. Tôi sẽ có cái nhìn khác về nó khi tôi về nhà, thực sự nghĩ rằng tôi đã có nó :(
Alex Carlsen

Đó cũng là dự đoán đầu tiên của tôi, nhưng tôi chưa có cơ hội để thử nó. Dù sao, phần duy nhất tôi chưa hiểu là phần có tổng giám mục nên tôi sẽ xem xét điều đó khi tôi về nhà.
Sumyrda - Phục hồi Monica

3

VBA của JimmyJazzx

Thay đổi IRRthành MIRRvà thay đổi 5thành một, để có 3 tham số.

Tôi đã tìm thấy điều này trong khi tìm kiếm cách IRRhoạt động của chức năng Excel . Có một bài viết: Làm thế nào chức năng MIRR của Excel có thể khắc phục chức năng IRR . Điều đó khiến tôi thất vọng. Thông minh cố gắng, mặc dù. Tôi chưa bao giờ sử dụng VBA trước đây, vì vậy điều đó cũng thú vị.

Sub q()
Dim a(2) As Double
a(0)=-5
a(1)=10
msgBox MIRR(a,0.2,3)
End Sub

Tốt đẹp. Về mặt kỹ thuật tôi đã thêm cả M và, vì vậy chỉ số trung bình là 0,25 nhưng tôi nghĩ cuối cùng họ cũng có kết quả tương tự. Nghĩ rằng sử dụng một số chức năng tài chính có thể làm vấp ngã các lập trình viên nhưng đã được tiết lộ bởi tài liệu. Làm tốt lắm
JimmyJazzx 13/08/2015

3

Matlab / Octave, Jonas

Sự miêu tả

Trong dòng cuối cùng, thêm 'để chuyển đổi arg'thành chuỗi 'arg', sau đó sẽ được hiểu là số ASCII. Và sau đó thêm một cái khác 'ở cuối để duy trì định dạng cột.

Hầu như không cần thiết 'trong mã gốc là đầu mối chính. Ngoài ra, trong phần giới thiệu, thực tế argđã được xác định riêng (thay vì trực tiếp trong sindòng) nên có vẻ đáng ngờ.

format long
arg = [.1 .2 .3];
sin('arg'*exp(9))'

3

bc, abligh

Chỉ chèn các toán tử toán học. Mất khoảng 1 phút để giải quyết khi tôi tra cứu bc là gì và hoạt động toán học của nó. Điều đầu tiên tôi nghĩ đến là sự phân chia, nhưng không có yếu tố chung nào trông đẹp mắt. Vì vậy, tôi ngay lập tức đi cấp số nhân và mô đun. Ít nhất 15 chữ số là cần thiết cho mô đun b / c của đầu ra dự kiến. Sau đó, tôi đoán hai lần và tìm thấy nó.

4518^574%615489737231532

3

Lua, TreFox

Sự miêu tả

"_G" là bảng toàn cầu, làm cho "_G.load" đề cập đến chức năng toàn cầu "tải". Việc chuyển đổi một hàm thành một chuỗi dẫn đến việc trả về địa chỉ của hàm, sau đó được thực hiện thành độ dài của chuỗi bởi toán tử độ dài "#".

G={load="lfkjgGsHjkU83fy6dtrg"}
print(#tostring(_G.load))

Ngoài ra, vì đây là bài viết đầu tiên của tôi ở đây, tôi không thể nhận xét về câu trả lời ban đầu.


Tôi đã để lại một bình luận về câu trả lời của cảnh sát. Nhân tiện, điều này không hoàn toàn phù hợp với tôi. Địa chỉ là tôi nhận được 0x321a40c6d0, cho một đầu ra cuối cùng của 22.
Dennis

Tôi không chắc tại sao bạn lại nhận được 22 ... trên tất cả mọi thứ tôi đã kiểm tra là 18 hoặc 26.
TreFox


Aha, tôi đã rất gần! Tôi biết tôi cần toàn cầu load, và tôi biết đã _Gđề cập đến bảng biểu tượng toàn cầu ... Tôi chỉ không đặt hai cái đó lại với nhau.
Alex Van Liew

3

Python, rp.beltran

Sự miêu tả

Tôi nhận thấy rằng các chữ cái cần thiết luôn luôn là 2 chữ số. thay đổi thứ ba \wđể \dcó tất cả các chữ cái ngoại trừ khoảng trắng. \D\nhóm duy nhất tôi có thể tìm thấy các chữ cái và dấu cách được phép.

import re;''.join(re.findall('\D(?=\w\d)','t74q joh7 jv f9dfij9j bfjtf0e nnjen3j nnjrb6fgam3gtm5tem3hj s3eim7djsd3ye d5dfhg5un7ljmm8nan3nn6n k m2ftm5bsof5bf r5arm4ken8 adcm3nub0 nfrn6sn3jfeb6n d m6jda5 gdif5vh6 gij7fnb2eb0g '))

w-> D, w-> dtrong biểu thức chính quy.


3

Bình thường, isaacg

Sự miêu tả

Mã ban đầu thực hiện như sau:

 CG      Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
         156490583352162063278528710879425690470022892627113539022649722.
   ^3y21 Compute 3^(2 * 21).
%        Calculate the modulus.

Kể từ 156490583352162063278528710879425690470022892627113539022649722 - 58.227.066 cho 156490583352162063278528710879425690470022892627113538964422656 , bằng 2 26 × 3 × 7 × 7477 × 381.524.422.711 × 17007550201751761 × 2288745700077000184147 , đầu ra mong muốn có thể thu được bằng cách thay thế ^3y21bằng một cái gì đó mà đánh giá lại để ước của sản phẩm này và lớn hơn 58.227.066 .

Các ^trong mã gốc gợi ý rằng chúng ta có thể sử dụng nó để tính toán một sức mạnh của 2 , các 3 mà chúng ta có thể tính toán một ước phù hợp của mẫu 3 × 2 n .

Cả hai đều sai lệch. Giải pháp với một khoảng cách Levenshtein 3 ( %CG^2 26, %CG^y2 13, %CG^4y13) hoặc 4 (%CG.<3y13 ) đều dễ dàng tìm thấy, nhưng giải pháp ở khoảng cách 2 đòi hỏi một cách tiếp cận khác nhau.

Bảng chữ cái chữ thường ( G) có 26 chữ cái, do đó, tập hợp sức mạnh của nó (tập hợp tất cả các chuỗi tăng dần của các chữ cái thường) có 2 26 phần tử. Bằng cách thay thế y2bằngyG , chúng tôi tính toán bộ sức mạnh này.

Chúng ta có thể truy xuất độ dài của tập hợp bằng cách thay thế 3bằngl , điều này khiến chúng ta có ^lyG1, tức là, 2 26 được nâng lên sức mạnh đầu tiên.

%CG^lyG1

Lưu ý rằng điều này sẽ chỉ hoạt động trên một máy tính có đủ bộ nhớ khả dụng (khoảng 6,43 GiB, theo đó time), vì vậy nó sẽ không hoạt động với trình thông dịch trực tuyến.

Đây là cách bạn có thể xác minh kết quả từ dòng lệnh:

$ \time -v pyth -c '%CG^lyG1'
58227066
        Command being timed: "pyth/pyth.py -c %CG^lyG1"
        User time (seconds): 30.73
        System time (seconds): 2.12
        Percent of CPU this job got: 100%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.85
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 6742564
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2269338
        Voluntary context switches: 1
        Involuntary context switches: 58
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Chính xác! Làm tốt.
isaacg
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.