Những thách thức nhỏ bị hạn chế Chủ đề của Cop


33

Cướp của chủ đề

Nhiệm vụ của bạn là cảnh sát là chọn ba điều:

  • Một ngôn ngữ lập trình

  • Trình tự OEIS

  • Một tập byte

Sau đó, bạn sẽ bí mật viết một chương trình bằng ngôn ngữ đó tính toán chuỗi số thứ n chỉ sử dụng các byte trong tập hợp. Bạn sẽ tiết lộ ba mẩu thông tin để những tên cướp có thể cố gắng tìm ra chương trình.

Câu trả lời sẽ được tính bằng số byte trong tập byte với số điểm cao hơn. Câu trả lời bị bẻ khóa có điểm tự động là 0. Nếu câu trả lời của bạn không bị bẻ khóa sau một tuần, bạn có thể tiết lộ chương trình dự định và đánh dấu câu trả lời của bạn là "an toàn".

Câu trả lời phải có khả năng tính toán mọi thuật ngữ trong các tệp b của chuỗi, nhưng không bắt buộc phải tính bất kỳ thuật ngữ nào sau đó.

Chuỗi có thể là 1 hoặc 0 được lập chỉ mục cho cả cảnh sát và kẻ cướp.

Dưới đây là Tập lệnh Python kiểm tra xem mã của bạn có khớp với tập byte đã cho không.


1
Điểm thấp hơn thì tốt hơn? Hoặc cao hơn? Vì vậy, về bản chất, chúng tôi đang cố gắng tìm một bộ ký tự bị hạn chế gây khó khăn cho người khác khi tạo chương trình bằng ngôn ngữ đã chọn, sau khi chúng tôi đã tìm ra giải pháp?
BradC

1
Chúng ta có cần sử dụng tất cả các byte trong tập hợp của mình không? Tôi đoán có nhưng nó có lẽ nên được chỉ định trong thử thách.
Shaggy

1
@Shaggy nói chung là không, bạn có thể bao gồm những người khác cho những kẻ thừa kế đỏ, nhưng những tên cướp có thể sử dụng mọi thứ
Stephen

1
Những tên cướp có thể sử dụng cùng một byte hai lần trở lên?
Ông Xcoder

2
@Azulflame Các tệp b là các tệp được liên kết với mỗi chuỗi có thể được truy cập bằng cách thay thế Abằng a bvà nối thêm a .txt. Ví dụ: oeis.org/b4.txt sẽ truy cập các tệp b cho chuỗi đó.
Phù thủy lúa mì

Câu trả lời:


11

Haskell , A209229 , ( bị nứt )

11 ký tự (bao gồm cả dòng mới):

s<=[ ]
how!

Đầu ra Đúng / Sai dưới dạng hàm chỉ thị cho quyền hạn 2:

1 => True
2 => True
3 => False
4 => True
5 => False
6 => False
7 => False
8 => True
9 => False
...

Đầu vào là số nguyên dương.


Có 0 cho sai?
H.PWiz

@ H.PWiz Mã của tôi không hoạt động cho 0, vết nứt của bạn có thể làm bất cứ điều gì bạn muốn cho nó.
xnor

Nứt! Rất thông minh ~
Lynn

@Lynn Hoàn thành tốt!
xnor


5

Haskell, A000045 ( bị nứt )

Tôi quyết định, tôi nghĩ tôi thích tnhiều hơn s.

Vì vậy, hãy sử dụng 30 byte này (bao gồm cả dòng mới) thay thế:

abcdeFgh|jklmnopqrtTuvwxyz
=()

Xin lưu ý rằng mô tả thách thức chung đòi hỏi rằng

Câu trả lời phải có khả năng tính toán mọi thuật ngữ trong các tệp b của chuỗi [...].

Trong trường hợp này, tệp b đi lên đến số thứ 2000, vượt xa những gì có thể được tính bằng cách sử dụng Int.





4

Haskell, A000045 ( Cracked )

Mọi người đều thích số Fibonacci, tôi thích Haskell ...

Tôi đã chọn cẩn thận 30 byte cho bạn: các chữ cái thường ngoại trừ f, it, bạn nhận được các chữ cái in hoa FTký hiệu ống |thay thế, và ba ký hiệu =()và dòng mới. Họ lại ở đây:

abcdeFgh|jklmnopqrsTuvwxyz
=()



4

Haskell, A009056 ( bị nứt )

Một cách đơn giản khác, bây giờ một lần nữa với đủ các chữ cái để làm cho nó trông giống như Haskell bình thường và có thể để bạn làm tôi ngạc nhiên bằng cách tìm một giải pháp hoàn toàn khác với tôi.

Chuỗi là Numbers> = 3 và bộ ký tự bao gồm 30 byte sau:

{[abcdefghijklmnopqr uvwxyz]}.

Các vết nứt có một số kỹ thuật tốt đẹp. Tôi chỉ nghĩ về điều này:

head . flip drop [ floor pi .. ]


1

3

C (C99), A000005 , 25 byte #, đã bị bẻ khóa !

Đây là các byte cho một vấn đề đầy đủ, lấy n làm đối số dòng lệnh và đưa ra câu trả lời cho thiết bị xuất chuẩn. (Không gian được bao gồm trong bytecount).

<=>,;!"()*%+acdfhimnoprt 

ok tôi đã tự hỏi lol như một đối số dòng lệnh?
Conor O'Brien

Vâng, tôi sẽ làm cho nó rõ ràng hơn
dj0wns

1
Nứt! thật là vui: D
Conor O'Brien

3

Unary , A002275 , 1 Byte

Bộ byte:

0

Tôi đã phải ít nhất thử nó: 3

(Tôi không nghĩ nó sẽ đặc biệt khó nhìn vì mọi lệnh trong ngôn ngữ đều có sẵn)


1
Tại sao không bao gồm tất cả các byte để tối đa hóa điểm số của bạn? Bạn đã ghi được số tiền thấp nhất có thể, khi đó sẽ không có sự khác biệt để bao gồm tất cả các byte.
Phù thủy lúa mì

Tôi nghĩ rằng chúng tôi sẽ cho điểm thấp (xin lỗi, tôi mới ở đây).
sonar235


@muddyfish Đầu vào là một nhân vật được phép cho brainfuck?
sonar235

@ sonar235 Nói chung, chúng tôi cho phép nhập liệu dưới dạng ký tự cho brainfuck. Mặc dù các giá trị ở đây vượt quá 255, tôi không nghĩ rằng một câu trả lời sử dụng chúng có thể hợp lệ.
Phù thủy lúa mì



3

Lục giác , A057077 , 77 byte

Trình tự định kỳ 1, 1, -1, -1. Như một danh sách:

a(0) = 1
a(1) = 1
a(2) = -1
a(3) = -1
a(4) = 1
a(5) = 1
a(6) = -1
   ...

Bộ ký tự (được chỉnh sửa), bao gồm một dòng mới và ký tự khoảng trắng:

!% & (), 0123456789 ;? @ ABCDEFGHIJKLMOPQRSTUVWXYZ ^ abcdefghijklmnopqrstuvwxyz [] #. 

Hãy thử trực tuyến!


Bất kỳ lý do bạn sửa đổi bộ ký tự?
Chọc

1
@Poke rõ ràng số byte càng cao càng tốt, vì vậy tôi chỉ cần thêm một loạt các lệnh không hữu ích.
Ad Nam

3

Haskell, A000045 ( bị nứt )

Nó bị bẻ khóa và tôi sẽ không bắt đầu một phiên bản mới, nhưng nếu bạn muốn chơi nhiều hơn: nó có thể mà không cần y, và nó có thể hiệu quả.


Tôi xin lỗi vì đã dẫn bạn đi sai hướng bằng cách đưa ra g . Hãy làm như vậy mà không cần!

Dưới đây là 29 byte còn lại (bao gồm cả dòng mới):

abcdeFh|jklmnopqrtTuvwxyz
=()

Một lần nữa, hãy nhớ rằng Intsẽ không đủ để tính toán số Fibonacci thứ 2000 cần thiết bởi vì nó nằm trong tệp b.



3

Haskell, A000045 ( bị nứt )

Đây là loại (như đã thông báo) không phải là một phiên bản mới, nhưng hoàn toàn khác nhau. (Đúng?)

Tôi vẫn hy vọng tôi có thể làm cho bạn khám phá lại sự quan sát nhỏ bé của tôi.

Lần này, bạn được yêu cầu thực hiện chuỗi Fibonacci bằng cách sử dụng bộ ký tự có kích thước 17, theo như tôi biết) chỉ chứa một hai ký tự không cần thiết:

eilnt=(,).[ ]_:0!

Lưu ý rằng không có dòng mới (nhưng hãy thoải mái hiển thị một phiên bản có khả năng đọc) và hãy nhớ rằng bạn phải có thể tính toán số Fibonacci thứ 2000.



3

Cubix, A000027 (AN TOÀN) 17 điểm

!&')-/0;@Oiru.NSQ

Giải pháp của tôi:

!O!;i)!/u&!!r-)0'u;;!@

xem nó trực tuyến ở đây

Tôi ban đầu làm điều này mà không có .NSQ nhưng tôi nghĩ rằng tôi có thể thêm chúng một cách an toàn.

Giải trình:

Chuỗi này chỉ là "Các số nguyên dương". Tuy nhiên, Cubix có ba lệnh đầu vào, iđọc trong một char đơn (đẩy -1nếu đầu vào trống), Ađọc trong phần còn lại của đầu vào dưới dạng ký tự (đẩy a -1đến bettom của ngăn xếp) và Iđọc số tiếp theo tắt đầu vào (đẩy 0nếu không có kết quả khớp). Vì vậy, tự nhiên, tôi chỉ cung cấp imà đọc bằng chữ số là giá trị ascii của họ. uh-oh Ngoài ra, -1là điểm đánh dấu thông thường cho phần cuối của đầu vào, kết hợp với ?vì vậy tôi đã loại bỏ ?, buộc tôi phải sử dụng! (bỏ qua hướng dẫn tiếp theo nếu TOS không bằng 0) cho luồng điều khiển. Cuối cùng, tôi nghĩ rằng tôi cần &ghép các chữ số để in vớiO (xuất ra đầu ngăn xếp dưới dạng số), nhưng tôi nhận ra rằng điều đó cũng không cần thiết!

Một phần khác của thử thách ban đầu là không có .nhân vật không hoạt động, nhưng bạn có thể sử dụng các cặp !thay thế nếu bạn cẩn thận:

    ! O
    ! ;
i ) ! / u & ! !
r - ) 0 ' u ; ;
    ! @
    . .

i) : đọc đầu vào, tăng dần.

!/ : nếu đỉnh của ngăn xếp bằng 0 (kết thúc đầu vào), rẽ trái

left :: ;O.@pop top of stack, output as number, stop.

nếu không thì:

u'0: đẩy mã char 0lên đầu ngăn xếp

)-r: tăng, trừ và xoay

;; : pop top của stack hai lần

u& : chữ số ghép

!!: net zero effect, bây giờ chúng tôi lại ở i).


Cubix có một số nhân vật noop phải không? Tại sao bạn không thêm những thứ đó để tăng điểm của bạn? Hoặc là một phần của thách thức mà không có tiếng ồn.
Thuật sĩ lúa mì

@WheatWizard Tôi quyết định thương xót và thêm .nhưng nó có thể được thực hiện mà không cần nó.
Giuseppe

3

Hạt giống , A005408 (Số lẻ) - An toàn

Đây là một thử thách hơn một chút. Bạn có thể sử dụng bất kỳ ký tự hợp lệ trong Seed:

[0-9 ]

Bạn không nên vũ trang cái này trong một tuần trừ khi bạn có một con quái vật của máy tính. Chúc may mắn! Nó có thể bị nứt.

Dấu

Đây là chương trình Befunge-98 được sử dụng trong giải pháp của tôi: 9&2*1-.@( 9có thể gỡ bỏ, nhưng giải pháp của tôi chỉ xảy ra

Dung dịch

8 47142938850356537668025719950342285215695875470457212766920093958965599014291682211474803930206233718243166021324700185443274842742744297183042397910454208210130742260519105651032450664856693714718759816232968955289663444878636053035645231246428917992493766505872029989544065894418166685284738859999912471659057565000392419689361271972485444731284404987238803115210428572945108908191097214978382112218242627719651728712577306652405452922782307249485947045215982784790396555726144526602778473387279897334709142853151393812930171163300904436548870603006549005515709074682843356844201220668045057407146751793470423217099467145255174198241606814578351260769359571053755888106818197239116973006365593563235361647743411341624822052103816968153274122434280200888824954875622811325064255818154979564925710534165572852442761249176778416688044630942040966271963723430245979221181930857841829694362184653939393940015797332978459794253176110314873994228261888801228999293570329618551223457182420746927212801550646743152754821640064626761542582557138452651970009253770914346130172884305622027370793496993281847017017643506435562229916984107083951938286577012273222191422054315198157936674247934699496471202544270325061352014830137178245082445717253260177560449757186762445707057028987371278573629077370632470496186218574320801798046510846708620502139560277546345198686675095078255875594169064796673074708822106659920187882062247609587560174781170641367430722951002242213604709887062481149928551745163110045572994991844223216663621203042075294195007458339984527333125093390189721042315604498435269143549420166732177200370228527273606218617171975362431824163269672003982537382982066136613799403024924018145511099557720492305303748099327810811511080314262364010281851651151072957475365629128068033597559560186625877942054704386175359499573139930378099420149452745731809033737756051947913924265484582800618244473333957173960222243311738522875022546610298627492222587971756897328087719407454153248557203886421828643453889090192355970705084245312184441674098515659253482621260617211786550204852895652236768886852209506535523414991099331857674826373947830587028494510697603296607361093480842935154672353288419699354739650168309017848485131553416956405911683526896232046773861961911767319373432460217755874481607587604361758089936007730253450733375831228127106295259261723611771334468553746160739548375950046831923765023329346333968732796413192682936767133122325481273354810124729664400173367781325488656859581438769940474229394692089519981810909719628263357284973442177568041416363386891516725592952892168077523560584005586276794967492051823290615767599202657060820223928678900774601616908031321346819422162123048834532926372862962159255934240435694566497798544870186550219886342379298214007368081326725550763589917206162393892085506551547475259270513853987294911388226039365971184089828739349642347312302559286882065147953715607221387657413593069535573044067517274676745306396611760657091792151803798859781616126637075577936361782593546481811651450365118155866449850474140044293772144065341051900055416408240857348697564252386403719942197789892382627153382011984996644288495699209129097948405810551134169739499539470610790009272281731894550593600643079188663110695127017324336488487580799309995227054576681630676222848231145106058050452439356753552872060820230589152143268436210090733908507724084889788244157692417246691477400856716677564609725979550100138132944851304473466485128295568194188600539248624248078558656162635444219199062786468487219220160009464328883337821175254405764395407405891483810757405446047244460754827113527540703326714751461178900155717130399854358953609995319006890674085682111514072508440632941090209366005504352890092326935445829213294943731517698438648298921337375443947066950275955144209037675013663600062205168551851984361951824731229113379464426979717688372371011461890139087487634586087688796134318950140718824105959727161482389914414206768064990410615468858520426399188835467970981786227122743162945627167772066100574532803061925537235491026486409948728571706557098859331941260622260924660292578136091523126589085799981416326395824628987154802653126685882440760385315869346960183809644486238810912663304360284449610976505715001267334297285036791711464142665122000857666018757370925847113798258537503747803972255591351740843663253694303946089997282812556281486820325652814785261116697261899511762129550421005941055852897451832731304151488058522478260009347144486599715629242208891126238083949281490804191584238425634093683587199278186505945727829025071885767559828670803412582690901456978557379916793144695491189633486065077294485660840922713748873840986104486221528464294334436081663106336911265802650605150347413103936140565054608396116572669757269475369570465915381045895991937087068526458273755454602799814909213983801968791431574508976448235055061998715636460946550584682626461010298101802277643570201189324102499951196290880892383380284543173390448406975616650185808619832614403133944687275834716343817926764699295672501869876060896683204343897481630037607159476461359111190545646447421653872016775582115425356868533678655969328210255235050133718364831289991244684695035034122861927276046255405376531096051541299607470934463981741370397268760811035606321455156217990078359217247117349544774085111287345436916077577032709684005131011429476229617901273007027774182864475737502587896225475248267937497254066190335088823904767397814233350286976811901982274477445433872253983823904938249655089770642137858608313524715533520654523880832056453080193644871440738737277389718589793074725139142291918837706550037934799585495183374639955887618135803388399608755212147742199481865453122900714456703147150994585431640652462593333773031385396586933380738103697887063571042512186708015948688088011290197524699274772775288900864690592106393483764109837848793374117655194139018455509931621247697015323332300969105814058088442693320033876473960017819576425062784644138417943454576404265382986995583045527928832

Làm thế nào bạn tạo ra điều này?
Christopher

@ 2EZ4RTZ Đau đớn và với nguồn của Python làm tài liệu tham khảo. Nó có thể có thể được chơi golf rất nhiều mặc dù.
TehPers



2

cQuents , A000027 , Cracked


 !"#%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Đúng rồi! Bạn nhận được tất cả ASCII! Đợi đã ... không có $... cái gì $nữa trong cQuents? Oh, yeah, chỉ số dựng sẵn. Chà, may mắn khó khăn: /

Giải pháp dự định:

#|A:A

Hãy thử trực tuyến!



@Adnan yup hoạt động, tôi đoán tôi không nên mở nó nhiều như tôi đã làm: PI không thể nghĩ ra bất kỳ cách nào khác nhau để làm điều đó, làm tốt lắm. Thêm giải pháp dự định.
Stephen


2

Ruby , A000004 , 5 byte, Cracked

Chỉ cần loay hoay để bắt đầu. Nên dễ dàng cho bất cứ ai quen thuộc với Ruby. Đó là một điểm thấp, nhưng bất cứ điều gì.

/np.$

Bẻ khóa, khai thác ngoài ý muốn

Cracked (dự định trả lời bằng ncờ)



@Ad Nam Eh, tôi sẽ chấp nhận nó. Nên yêu cầu ncờ (đó là lý do nó nằm trong chuỗi byte và sẽ làm cho $.bằng 1)
Ink Ink



2

R, A000290 , ( bị nứt )

Bộ byte:

()%cfinotu

không c, nhưng mọi thứ khác để làm functiongì? Điều đó thật kinh khủng. Tôi biết cách thực hiện việc này ngoại trừ việc đọc dữ liệu đầu vào ...
Giuseppe

@Giuseppe woops, atheveve a c. lấy làm tiếc.
JAD

1
Đây là những gì tôi nhận được khi thực hiện việc này một cách thủ công ...
JAD

Đừng lo lắng; Điều này là đủ khó khăn!
Giuseppe



2

cQuents , A000217 , bị nứt

Byteet:

$:=1;
\-

Lưu ý rằng tính năng này sử dụng một tính năng mà tôi chưa đẩy tài liệu này, vì vậy tôi sẽ đẩy nó vào tối nay, nếu bạn đợi đến lúc đó. (Hoặc bạn có thể lướt qua mã nguồn của tôi ... vui chơi). Tài liệu đẩy. Sẽ là một byte ít hơn nếu một lỗi gần đây là trên TIO.

Giải pháp dự định:

=1-1:--\1$ ;$

Dùng thử trực tuyến!



2

JavaScript (ES6), 13 10 byte, A000045 , Cracked

Điều này nên dễ dàng.

Đây là chuỗi Fibonacci: F (n) = F (n-1) + F (n-2) với F (0) = 0 và F (1) = 1.

Bộ byte:

$()-:<=>?[]_~

Chỉnh sửa:

Nó thậm chí có thể được thực hiện với 10 byte sau đây:

$()-:=>?_~


1
Đây không phải là [code-golf]: "Câu trả lời sẽ được ghi bằng số byte trong tập byte với điểm là tốt." Nhiều byte là tốt hơn.
LarsW

Mặt khác, @LarsW, nhiều byte hơn cũng giúp dễ dàng bẻ khóa hơn :)
JAD



2

Befunge , A000142 , 29 Bytes, ( Cracked )

Byte Set: @.$_ ^*:\v>-1&

Nếu bạn không thể nói, bộ Byte đó bao gồm một khoảng trắng.

Điều này nên vừa phải dễ giải quyết.

Chỉnh sửa: Quên "A" trước OEIS



2

R A105311 , ( bị nứt )

'%(),:=acdeginpstx

Hãy thử điều này mà không có lhoặc o.

Vì điều này đã bị bẻ khóa, giải pháp dự định:

cat(diag(diag((a=scan()))%x%diag((a==a):a)),sep=''). diaglà một chức năng thú vị, có thể được sử dụng theo ba cách khác nhau. Khi được trình bày với một số nguyên duy nhất ( diag(n)), nó tạo ra ma trận NxN với 1 trên đường chéo. Khi được trình bày với một vectơ ( diag(1:n)), nó tạo ra một ma trận NxN với vectơ trên đường chéo. Khi được trình bày với một ma trận ( diag(diag(n))), nó trả về đường chéo dưới dạng một vectơ. %x%đã tính sản phẩm Kronecker của hai ma trận, trong đó mỗi phần tử trong ma trận 1 được nhân với mỗi phần tử trong ma trận 2 một cách riêng biệt. Làm điều này với nma trận nhận dạng chiều dài và 1:nma trận đường chéo, tạo ra n^2ma trận đường chéo có độ dài 1:nlặp lại n. diagtrích xuất một lần nữa, và catin.


1
điều này sẽ còn vui hơn nữa :)
Giuseppe

điều này bao gồm một dòng mới?
Giuseppe

@Giuseppe Không có dòng mới
JAD

1
@Giuseppe và tôi chỉ cần kiểm tra hai lần, byteet này là chính xác
JAD

[nứt! ] ( codegolf.stackexchange.com/a/136457/67312 ) - Tôi (không chính xác) được sử dụng %o%trước khi tôi nhận ra rằng %x%đã tồn tại. Tôi đoán tôi có thể đã làm 'i'=='i'cho 1nhưng một trong hai cách làm việc, vì vậy.
Giuseppe
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.