วิศวกรรมย้อนกลับจาก Uniqueness (เธรดของ Robber)


11

ได้รับการส่งออกของโปรแกรมตำรวจฯ (คนo) ที่ไบต์นับ ( n) และจำนวนไบต์ที่ไม่ซ้ำกัน (คนc) ใช้มากับชิ้นส่วนที่สอดคล้องกันของรหัสที่เป็นnไบต์ยาวกับไบต์ไม่ซ้ำกันซึ่งตรงกับการส่งออกของตำรวจco


นี้เป็นหัวข้อโจร โพสต์โซลูชั่นที่คุณถอดรหัสที่นี่

ด้ายตำรวจจะอยู่ที่นี่


โจรควรโพสต์โซลูชันเช่นนี้:

#[Language], `n` Bytes, `c` Unique Bytes (Cracked)[Original Link to Cop Thread]

    [Solution]

(Explanation)

กฎระเบียบ

  • คุณไม่สามารถป้อนข้อมูลใด ๆ สำหรับโปรแกรมของคุณ
  • โปรแกรมต้องใช้อย่างน้อย 1 ไบต์ แต่ต้องไม่เกิน 255 ไบต์
  • เอาต์พุตเอง จำกัด เพียง 255 ไบต์
  • โปรแกรมจะต้องมีผลลัพธ์ที่สอดคล้องกันเมื่อดำเนินการหลายครั้ง
  • หากการส่งของคุณไม่แตกภายใน 7 วันคุณอาจทำเครื่องหมายว่า "ปลอดภัย"
    • เมื่อทำเครื่องหมายไว้ที่ปลอดภัย, c*nโพสต์โซลูชั่นที่ตั้งใจและคะแนนเป็น

การชนะ

  • โพสต์ที่ไม่ได้ติดตามที่มีc*nคะแนนต่ำสุดชนะด้ายของตำรวจ
  • ใครก็ตามที่ชนะมากที่สุดก็คือโจรโจรด้วยรอยแตกเร็วที่สุดเท่าที่จะทำได้
  • จะตัดสินใจหลังจาก 10 คำตอบที่ปลอดภัยหรือไม่กี่สัปดาห์

คำเตือน

  • หากคุณรู้สึกอวดดีคุณอาจบอกผู้ใช้ถึงอัลกอริทึมโดยใช้แท็กสปอยเลอร์

หมายเหตุ: นอกจากนี้โปรดอย่าลืมโหวตขึ้นเพราะมันเป็นส่วนที่น่าประทับใจ

คำตอบ:



4

MATL , 4 ไบต์, 4 ไบต์ที่ไม่ซ้ำกัน, Stewie Griffin

1X2p

ลองออนไลน์!

คำอธิบาย

1X2   % Push predefined literal: string 'double'
p     % Product of array. For strings it uses code points. Implicit display

คุณจะรู้ว่าทุกตัวอักษรที่กำหนดไว้ล่วงหน้า ... ฉันไม่ ... มันไม่ได้เหมือนกับที่ฉันมี 'double'แต่มันก็แน่นอนสินค้าของ :)
Stewie Griffin

@StewieGriffin อ่าฉันเข้าใจแล้วคุณก็1X%pเลยชอบ ที่จริงฉันรู้แค่ตัวอักษรที่กำหนดไว้ล่วงหน้าไม่กี่ตัว ฉันดุร้ายกับ9:"@X1pDการเปลี่ยนแปลงXและ1
Luis Mendo

4

MATL , 6 ไบต์, 3 อันเฉพาะตัวLuis Mendo

FFFTZF

ลองออนไลน์!

ฉันรับรู้ผลลัพธ์ทันที

1+0i 0+1i -1+0i 0-1i

ในฐานะรากที่สี่ของความเป็นเอกภาพและฉันรู้ว่าสิ่งfftต่อไป[0 0 0 1]จะส่งผลให้เกิดสิ่งนี้

ฉันใช้เวลาพอสมควรที่จะคิดออกว่าFFFTจะผลักดัน[0 0 0 1]และฉันยังไม่แน่ใจว่ามันทำงานอย่างไร แก้ไข: หลุยส์ Mendo อธิบายว่าFและTมี "เหนียว" เพื่อให้ลำดับของFและTโดยอัตโนมัติจะhorzcatเข้าด้วยกันจึงผลักดันFFFT[0 0 0 1]

สิ่งนี้แสดงออกอย่างชัดแจ้งในเอกสาร (เมื่อฉันค้นหา):

สำหรับเวกเตอร์แถวลอจิกวงเล็บเหลี่ยมสามารถตัดออกได้ นั่นคือเครื่องหมาย [T F T]หรือ[TFT]สามารถทำให้ง่ายTFTขึ้น TFT TTตัวคั่นอาจมีความจำเป็นถ้าอาร์เรย์ตรรกะใหม่ดังต่อไปนี้: แต่มันไม่จำเป็นในกรณีอื่น ๆTFT3.5:


1
FและT"เหนียว" ดังนั้นFFTกำหนดเวกเตอร์แถว[false, false, true]
Luis Mendo

@ LuisMendo ขอบคุณนั่นชัดเจนแล้ว
Giuseppe

4

Haskell , 29 ไบต์, 15 อันไม่ซ้ำใคร, Laikoni

f<$>[1..74]
f 47='4'
f f1='3'

ลองออนไลน์!

ก่อนหน้านี้ฉันมีคำตอบเกือบสองข้อ:

do;d<-[2..74];'3':['4'|d==47]    -- 29,16
do;d<-[-41..31];'3':['4'|d==4]   -- 30,15

อ่าความคิดเห็นของ Laikoni ทำให้ฉันคิดว่าคำตอบที่จำเป็นต้องใช้ในการแสดงออกเดียว…ที่ใกล้เคียงที่สุดที่ฉันได้รับคือ["34"!!(0^x^2)|x<-[-46..27]](28, 18)
ลินน์

1
ฉันก็ไม่รู้doเหมือนกันว่าคุณสามารถวางเครื่องหมายอัฒภาคได้หลังจากนั้น!
ลินน์

1
ใช่ฉันมีที่ว่างเป็นเวลานานก่อนที่จะเดาว่ามันอาจจะใช้ได้
H.PWiz

@Lynn Laikoni อ้างว่าการแก้ปัญหาเป็นเพียงนิพจน์เดียวในการแชท
H.PWiz


3

JavaScript (ES6), Brian H.

ขอบคุณ@Milkสำหรับการแก้ไขส่วนท้าย '5' ล่าสุด

f=f=>1/44.4

console.log(f())

ตัวอักษรที่ไม่ซ้ำกัน: ., /, 1, 4, =, >,f


1
อันนี้ส่งออกเพิ่ม 5 ตอนท้าย:_=_=>1/44.4
นม

@ นมที่ดูดีขึ้นแน่นอน แจ้งให้เราทราบหากคุณต้องการโพสต์และฉันจะลบอันนี้
Arnauld

เยี่ยมยอดคุณสามารถอัปเดตโพสต์ได้หากต้องการ ฉันได้สิ่งนี้จากการสร้างรอยร้าวของคุณ
นม

กล่าวว่าเป็นเรื่องง่าย: p
Brian H.

3

ภาษา Wolfram (Mathematica) , 8 ไบต์, 3 อันไม่ซ้ำใคร, Jenny_mathy

7!!!/77!

ลองออนไลน์!

รายละเอียด: Factorial[7!!] / Factorial[77]ที่ไหน!!เป็นปัจจัยสองเท่า

ครั้งแรกที่ฉันสังเกตเห็นลำดับที่ยาวของ0ท้ายดังนั้นฉันเดาว่ามันอาจเป็นแฟคทอเรียล FactorIntegerทำให้ปัจจัยที่ใหญ่ที่สุด103ดังนั้นฉันพยายามที่n/103!และได้รับถัดไปที่ใหญ่ที่สุด (ลบ) 73ปัจจัยสำคัญคือ ปรับเปลี่ยนปัจจัยบางเวลาให้105!/77!แล้วฉันคิดว่า "มีอยู่แล้ว 3 สัญลักษณ์7, !และ/ดังนั้นวิธีที่จะสร้าง 105 จะต้องมาจากสัญลักษณ์เหล่านั้น!" ดังนั้นฉันจึงลอง7!!(ซึ่งเป็นหนึ่งในสิ่งที่ควรลอง) และรับ 105 เป็นผลลัพธ์ที่ถูกต้อง




2

เยลลี่ , 7 ไบต์, 6 อันเฉพาะตัว, Erik the Outgolfer

- ด้วยเหตุผลบางอย่างฉันเริ่มต้นด้วยศูนย์ต่อท้ายในผลลัพธ์ ไม่ว่ามันจะ
8,16!PP
เป็นวิธีแก้ปัญหา


8,⁴!PP0

ลองออนไลน์!

อย่างไร?

8,⁴!PP0 - Main link of a program taking no arguments and no input
  ⁴     - literal sixteen
8       - literal eight
 ,      - pair = [8,16]
   !    - factorial (vectorises) = [8!, 16!] = [40320, 20922789888000]
    P   - product = 40320 × 20922789888000 = 843606888284160000
     P  - product (no effect) = 843606888284160000
      0 - literal zero (just gets printed)
        - leaving STDOUT displaying 8436068882841600000, as required

... 8,⁴!’Pสำหรับ 6 ไบต์ 6 ที่ไม่ซ้ำกันนั้นยากที่จะถอดรหัสเนื่องจากผลลัพธ์ของ843585965494231681 ( 40319 × 2092278988799 )ไม่ได้ดูเป็นแบบแฟคทอเรียล


ทางเลือก: 8µḤ!×! (มีช่องว่างต่อท้าย)
user202729

หรือ8,⁴!Pมีช่องว่างต่อท้าย 2 ช่อง (หรือqไบต์อื่นที่ไม่ได้นำไปใช้)
Jonathan Allan


2

PowerShell , 7 ไบต์, 5 ไบต์ที่ไม่ซ้ำกัน, AdmBorkBork

1PB#---

ลองออนไลน์!

การส่งออก1125899906842624เท่ากับ2^50และจะมีค่าเท่ากับ2^50 Bytes 1 Pebibyteรหัสที่แท้จริงคือเพียง 3 ไบต์ดังนั้นฉันเพิ่มความคิดเห็นในตอนท้าย


ดี ฉันคิดว่าการแก้ไขความคิดเห็นจะทำให้ผู้คนกลายเป็นห่วง แต่ดูเหมือนว่าฉันผิด :)
AdmBorkBork

2

Excel, 22 ไบต์, 16 ไบต์ที่ไม่ซ้ำกัน, EngineerToast

ทางออกที่เป็นไปได้คือ:

=BAHTTEXT(2^(480-300))

=BAHTEX()^02348-ตัวละครที่ไม่ซ้ำกัน

ฉันรับรู้ว่า BAHTTEXT ถูกใช้เมื่อเห็นผลลัพธ์ โดยการแปลผลลัพธ์จากภาษาไทยเป็นภาษาอังกฤษฉันสามารถหาค่าของตัวเลขได้ ฉันเดาว่ามันจะเป็นพลังของ 2 ซึ่งแน่นอนคือ (คือ 2 180 ) นิพจน์ 480-300 = 180 นั้นถูกสร้างขึ้นเพื่อให้แน่ใจว่าโซลูชันประกอบด้วย 22 ไบต์และ 16 ที่ไม่ซ้ำกัน


2

อลิซ 9 ไบต์ 8 ไบต์พิเศษลีโอ

/Yr@
\no/

ลองออนไลน์!

nrYo@กางออกนี้เป็น

n  negate the implicit empty string: creates the string "Jabberwocky".
r  range expansion: produces a string that starts with J, 
   goes up in ASCII order to w, down to c, and then up to y.
Y  separate this string into even and odd positions
o  output the even positions
@  terminate

อนึ่งการวางแนวของกระจกในคอลัมน์แรกนั้นไม่เกี่ยวข้องอย่างสมบูรณ์ดังนั้นสิ่งนี้สามารถลดลงได้อย่างง่ายดายถึง 7 ไบต์ที่ไม่ซ้ำกัน


คุณพูดถูกเรื่องกระจก! ฉันได้กลายเป็นสนิมเกินไปกับอลิซ :)
สิงห์


1

J , 8 ไบต์, 6 ไบต์ที่ไม่ซ้ำกัน, Bolce Bussiere

;p.p:i.9

ลองออนไลน์!

เอาท์พุท:

23 _0.677447j0.296961 _0.677447j_0.296961 0.125003j0.726137 0.125003j_0.726137 _0.379097j0.630438 _0.379097j_0.630438 0.518498j0.521654 0.518498j_0.521654

คำใบ้ที่ชัดเจนคือในเอาต์พุตที่กำหนดจำนวนเชิงซ้อนจะปรากฏเป็นคู่คอนจูเกตเสมอ มันทำให้ฉันสงสัยว่าp.คำกริยาซึ่งแปลงระหว่างรูปแบบพหุนามธรรมดาและรูปแบบตัวคูณและราก

ดังนั้นฉันจึงพยายาม:

p. 23;(...those complex numbers)
   2 3 5 7.00001 11 13 17 19 23

ใช่ความคิดของฉันถูกต้อง รายการของช่วงเวลาเป็นเรื่องง่าย Monadic ;ปรับรายการของกล่องที่บรรจุอยู่ให้เป็นแบบเชิงเส้นเดียว การแสดงออกที่เกิดขึ้นมีสอง p และจุดสองจุดดังนั้นการนับไบต์นั้นสมบูรณ์แบบ



0

เยลลี่ , 8 ไบต์ , 6 ตัวที่ไม่ซ้ำกัน, Mr. Xcoder

7x7²¤ḌḤ²

ลองออนไลน์!

อย่างไร?

7x7²¤ḌḤ² - Main link: no arguments & no input
7        - literal 7
    ¤    - nilad followed by link(s) as a nilad:
  7      -   literal 7
   ²     -   square -> 49
 x       - repeat elements -> [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]
     Ḍ   - convert from a decimal list -> 7777777777777777777777777777777777777777777777777
      Ḥ  - double -> 15555555555555555555555555555555555555555555555554
       ² - square -> 241975308641975308641975308641975308641975308641926913580246913580246913580246913580246913580246916
         - implicit print
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.