ตำรวจและโจร: Redacted Primality (ด้ายของตำรวจ)


19

ความท้าทายนี้เดิมทีถูกสร้างโดย sandboxed Magic Octopus Urn; ฉันรับรองและโพสต์ด้วยการอนุญาตของเขา

นี่คือด้ายของตำรวจ ด้ายโจรเป็นที่นี่

ความท้าทาย

  • ขั้นตอนที่หนึ่ง:เขียนชิ้นส่วนของรหัส (ฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ) ซึ่งตรวจสอบการทำงาน
  • ขั้นตอนที่สอง:ชิ้นลบของรหัสของคุณโดยการแทนที่ตัวอักษรที่มีสัญลักษณ์
  • ขั้นตอนที่สาม:โพสต์รหัส redacted บนด้ายตำรวจ
  • ขั้นตอนที่สี่:รอให้รหัสของคุณถูกถอดรหัสและลองถอดรหัสรหัสของผู้อื่น

ตัวอย่างเช่นรหัส Groovy อาจจะกลายเป็น{it.isPrime()} {██.is█████()}(อันนี้จะแตกง่ายอย่างโง่เขลา; ฉันรู้ว่า.isPrime()ไม่ใช่วิธี Groovy)


เกณฑ์การให้คะแนน

คุณต้องรวมคะแนนของโปรแกรมในการส่ง คะแนนถูกกำหนดให้เป็นอัตราส่วนของตัวละคร Redacted ต่อตัวละคร ดังนั้นหากโปรแกรมของคุณมี 20 ตัวอักษรและ 5 ถูก redacted คะแนนของคุณจะเป็น 0.25 รหัส Groovy ด้านบนจะมีคะแนน 0.5


กฎระเบียบ

  • โปรแกรมของคุณต้องการจัดการจำนวนเต็มบวกเท่านั้น มันควรจะส่งออกค่าความจริงถ้าจำนวนนั้นเป็นนายกและค่าเท็จเป็นอย่างอื่น โปรดระบุคำตอบในสิ่งที่มันออกมา
  • รหัสของคุณต้องไม่มีความคิดเห็นหรือช่องว่างที่ไม่จำเป็น
  • ไม่มีการขัดจังหวะการแฮ็กหรือการเข้ารหัสลับ
  • รหัสของคุณอาจไม่เกิน 50% ทำซ้ำ (อย่างน้อย 1/2 อักขระจะต้องแสดง) ซึ่งหมายความว่าคะแนนสูงสุดที่เป็นไปได้คือ 0.5
  • หากคำตอบของคุณไม่มีการถอดรหัสภายในหนึ่งสัปดาห์คุณอาจทำเครื่องหมายว่าปลอดภัยและแก้ไขในการถอดรหัสที่ตั้งใจ

การชนะ

ผู้ชนะจะเป็นคำตอบที่ไม่ได้คะแนนต่ำที่สุดภายในสองสัปดาห์หลังจากโพสต์ ในกรณีที่เสมอกันผู้ใดมีคะแนนมากที่สุดจะเป็นฝ่ายชนะ หัวข้อนี้จะเปิดให้ส่งมากกว่าเสมอ แต่ผู้ชนะที่เลือกหลังจากสองสัปดาห์จะเป็นแบบถาวร


โดเมนของอินพุตคืออะไร (เช่นมันคือn >= 1จำนวนเต็มทั้งหมดหรือทั้งหมด?)
Conor O'Brien


1
อีกครั้งหากวิธีการให้คะแนนใช้ประโยชน์ได้ง่ายก็จะเสีย
user202729


1
ตัวอย่างข้อมูล
user202729

คำตอบ:


3

Functoid , score = 14/223 ≈ 0.062780 [ปลอดภัย]

Y(yG(BK██)(B(S(BS(C(BC(C(BB(B(v
S(CB█)(█C█B>vK  BSBB())█K(BS(S?
>(KZ)(C(C(Bv>██        >   v██<
█)Sg3I)$; @>B(BS(b(C(BBI)Iv>(█g
())I)))I)IBB(C(b(CB(C())))<v)█C
I))I))0)))(C(BC(B(BB)(C(BBv>)))
]I))))I))>    >)█   $;@   >I)(B

จะเข้าเป็นอาร์กิวเมนต์บรรทัดคำสั่งและเอาท์พุทTrue(นายก) หรือFalse, ลองออนไลน์!

คำแนะนำ (เพิ่ม 4 วันหลังจากโพสต์):

ครั้งแรกและครั้งที่ 4 จะเป็นปลาชนิดหนึ่งสีแดง: ตั้งใจ (และส่วนใหญ่ทุกคน ) วิธีการแก้ปัญหาของ IP จะเป็นไปตามบรรทัดแรกและเข้าถึง?ตัวละคร

วิธีการแก้

Y(yG(BKL2)(B(S(BS(C(BC(C(BB(B(v
S(CBO)( C B>vK  BSBB())OK(BS(S?
>(KZ)(C(C(Bv>O)        >   vY <
^)Sg3I)$; @>B(BS(b(C(BBI)Iv>(yg
())I)))I)IBB(C(b(CB(C())))<v)-C
I))I))0)))(C(BC(B(BB)(C(BBv>)))
]I))))I))>    >)2   $;@   >I)(B

ลองออนไลน์!

คำอธิบาย

เนื่องจากการสุ่มที่มาจาก?มันเป็นไปไม่ได้ที่จะแผ่โปรแกรม นี่คือโปรแกรมแบบเรียบที่มีเครื่องหมายคำถามซึ่งนิพจน์แบบสุ่มจะเป็น:

Y(yG(BKL2)(B(S(BS(C(BC(C(BB(B(?(yg(KZ)(C(C(BB(BS(b(C(BBI)I))))(C(BC(b(C(BBI)I)))I))(C-))))I))I))0)))(C(BC(B(BB)(C(BBI)(B]I))))I)))2$;@

โปรแกรมเต็มรูปแบบ:

Y{trial_division}      --  fix-point of {trial_division}
                 2     --  apply 2 (begin division with 2)
                  $    --  apply argument (work with the supplied input)
                   ;   --  print result as boolean
                    @  --  terminate program

The {trial_division}:

y                         -- recursive function with two arguments x,y
 G                        -- | base predicate: x >= y
  (BKL2)                  -- | base function:  BKL2 x y
                             |  ->             K(L2) x y
                             |  ->             L2 y
                             |  ->             2 <= y
        {recursive_call}  -- | recursive call

{recursive_call}การโต้แย้งf(การอ้างอิงตนเอง) xและy(หมายเหตุ0เหมือนกันFalse)

  B (S(BS(C(BC(C(BB(B{divides}I))I))0))) (C(BC(B(BB)(C(BBI)(B]I))))I) f x y
->       (C(BC(C(BB(B{divides}I))I))0) x y (BC(B(BB)(C(BBI)(B]I)))) f I x y)
->       (C(BC(C(BB(B{divides}I))I))0) x y (BC(B(BB)(C(BBI)(B]I)))) f I x y)
->            (C(BB(B{divides}I))I) x y 0  (BC(B(BB)(C(BBI)(B]I)))) f I x y)
->            (C(BB(B{divides}I))I) x y 0  (   B(BB)(C(BBI)(B]I))   f x I y)
->                   {divides}      x y 0  (         C(BBI)(B]I)    f x y  )
->              if x `divides` y then 0 else         C(BBI)(B]I)    f x y
->                                                    f (B]I x)  y
->                                                    f (] x) y
->                                                    f (x+1) y

{divides}คือ?(yg(KZ)(C(C(BB(BS(b(C(BBI)I))))(C(BC(b(C(BBI)I)))I))(C-)))ตำแหน่งที่?ถูกสุ่มเลือก (ขึ้นอยู่กับทิศทางสุ่ม) จาก:

  • Y
  • S(CBO)(CBO)
  • S(SB(KO))(BBSBKO)

สิ่งเหล่านี้เทียบเท่ากันดังนั้น{divides}จะกลายเป็นจุดแก้ไขของ:

y                       -- recursive function with two arguments x,y
 g                      -- | base predicate: x > y
  (KZ)                  -- | base function:  KZ x y
                        -- |  ->              0 == y
      {recursive_call}  -- | recursive call

{recursive_call} เป็นการแสดงออกที่ค่อนข้างงงซึ่งโดยทั่วไปแล้วจะทำได้ f x (y-x)


5

8086 DOS COM, 87 ไบต์, คะแนน 19/87 ~ = 0.2183

แคร็กโดยNieDzejkob

1└╣██1█╛ü ¼<█t<< u≈¼<█t█,0|/<██+ô≈ßô☺├δδâ√█|█╞█S█Y╣██9┘t█ë╪1╥≈±○╥t█Aδ∩╞█S█N┤█║S█═!├A
$

นี่คือโปรแกรม COM คาดหวังว่าตัวเลขเป็นอาร์กิวเมนต์บรรทัดคำสั่งเอาต์พุต Y หรือ N ขีด จำกัด : 65535 เนื่องจากตัวประมวลผล 16 บิต (ขนาดของ (int) จะเป็น 2) ขึ้นบรรทัดใหม่คือ 0x0D 0x0A บนแพลตฟอร์มนี้ ใช่คุณนับ 20 █แทนที่จะเป็น 19 █ หนึ่งในนั้นคือ█ตัวจริงและไม่ได้ถูกทดแทน Muhahaha

ช่องว่างในตำแหน่งที่ 10 เป็นจริงของ NUL ไบต์ สัญลักษณ์สำหรับ NUL เหมือนกับช่องว่างในฟอนต์ VGA เก่า


1
จะใช้เวลาตลอดไปในการถอดรหัสเพราะมีความสัมพันธ์ประมาณ 0 ระหว่างแอสเซมบลี (opcode) และรหัสเครื่อง / นี่คือรหัสหน้า 437หรือไม่?
user202729

@ user202729: หน้ารหัสที่ถูกต้อง DOS คือ CP437 เว้นแต่จะระบุไว้เป็นอย่างอื่น
Joshua

คุณใช้ quirk DOS ที่คลุมเครือเพื่ออ่านพารามิเตอร์ commandline จาก $ 5881 แทนที่จะเป็น $ 0081 หรือเป็นความผิดพลาดหรือไม่? ฉันต้องติดตั้ง DOS จริงหรือไม่?
NieDzejkob

@NieDzejkob: รออะไรนะ ฉันค่อนข้างแน่ใจว่ามันอ่านบรรทัดคำสั่งจาก DS: 0081 ฉันจะตรวจสอบ hexdump อีกครั้งเมื่อฉันกลับถึงบ้าน แต่ฉันไม่คิดว่าจะพบอะไร
Joshua

@Joshua ดีที่จุดเริ่มต้นมากคือ╛üX mov si, 0x5881
NieDzejkob

5

Swift 4 , คะแนน 26/170 ≈ 0.153, ปลอดภัย

func p(n:Int)->Bool{func(_:Int,_:Int)->Int{var h=(1...l).map{$0██m██
while(m=h.count,m██).1{h=[Int](h[...])};return m}
return>██&(.███).index█j█n██0)>=0}=██l}

ลองออนไลน์!

รอยแตกที่ตั้งใจไว้

func p(n:Int)->Bool{func j(_ l:Int,_ k:Int)->Int{var h=(1...l).map{$0},m=l
while(m=h.count,m>k).1{h=[Int](h[k...])};return m}
return n>1&&(2..<n).index{j(n,$0)>=$0}==nil}

Ungolfed

func p(n:Int)->Bool{
  func j(_ l:Int,_ k:Int)->Int{    // Modulus function (l mod k)
    var h=(1...l).map{$0},m=l      //  Create an array h of size l
    while(m=h.count,m>k).1{        //  While h has more than k elements:
      h=[Int](h[k...])             //   Remove k elements from h
    }
    return m                       //  Return the length of h (equal to k if l divides k)
  }
  return n>1&&                     // Test if n > 1
  (2..<n).index{j(n, $0)>=$0}==nil //  and no number from 2 to n-1 divides n
}

4

brainfuck , 37/540 bytes (คะแนน: 0.06851) ( แคร็กโดย Nitrodon)

>>>>>+>,[>++++++[-<-------->]<+>,]<[-[█<█<]++++++++++<]>[-]>>██[>█>>█>]+[<]<<[<]>█<<+>>[>]█>[>]█+[<]<<[<]>-█>]>>[->]<[-[[<]<]++++++++++<]>[-]>[<█]>]>[>]<[[█]<]<<<<<[<]<<██>>[>]<█[->+<]<█>>[>]<[-[[<]<]++++++++++<]>███>[<<]>[[[>]>████[<]<[-[[<]<]++++++++++<]>[-]>[█<]>]>[>]<[[-]>+[>]<-<[<]<]+<<<<<[<]>[[>]+[[>]>]>[>]>[-<+>]<[<]<[>+[<]>>-<<<<<[[<]<]>>███████>[[█]>]<]<[[<]<]<[█]>]>>>[[>]<->>]]>[[>]>]<<[[[█]<]<]<<<[█]<<█>>>[>]█[-[[<]<]++++++++++<]>>[[>]+[------->++<]>.+.+++++.[---->+<]>+++.>>]>[>]+[------->++<]>++.++.---------.++++.--------.

ลองออนไลน์!

พิมพ์ "prime" ถ้า prime ไม่ใช่ "prime" หากคอมโพสิต เทคนิคใช้งานได้กับจำนวนเต็มตามอำเภอใจ แต่หมดเวลาใช้งานกับ TIO สำหรับตัวเลขที่สูงกว่า 6000


2
แตกหลังจากทำงานเป็นเวลาหลายวัน
Nitrodon

3

Mathematica, 97 ไบต์, คะแนน 0.2989690722 ( แตก )

f[x_]:=(██ToString███████████████;StringMatchQ[████Infinity,RegularExpression@"█\█\█{█\█+, ███"])

Strings! regex! เฉพาะ?

มีเป็นสิ่งนั้นเป็น primality ตรวจสอบ regex แต่ที่ไม่ได้เป็นอะไรที่เกิดขึ้นที่นี่

สิ่งนี้แตกได้ แต่วิธีที่ฉันตั้งใจแตกต่างกันมากดังนั้นฉันจะไม่เปิดเผยวิธีแก้ปัญหาที่ตั้งใจไว้


1
Cracked
user202729

3

เยลลี่ , คะแนน 0 (142857) ( แตก )

25██26█966836897364918299█0█1█65849159233270█02█837903312854349029387313█ị██v

ลองออนไลน์!

โพสต์คำตอบอื่น ๆ ของฉันคราวนี้มีอีกไม่กี่ไบต์เปิดเผยเพื่อหลีกเลี่ยงการโกงที่ไม่ได้ตั้งใจ


ฉันสามารถฉลาดหลักแหลมหรือสองคำตอบของคุณเพื่อให้ได้ไบท์บางส่วน ... อาจเป็นได้
user202729

@ user202729 เอ่อมีบางอย่างแปลก ๆ เกิดขึ้นฉันไม่ได้ตั้งใจที่จะครอบคลุมตัวอักษรมากขึ้น ...
Erik the Outgolfer

Cracked
user202729

3

อ็อกเทฟคะแนน: 0.15 (86 ไบต์)

ฉันเปิดเผยตัวละครอีกหลายตัว ฉันคิดว่าเกณฑ์การชนะคือคะแนนสูงสุดไม่ใช่ต่ำสุดต่ำสุด

@(x)eval([(str2num(cell2mat([cellstr(reshape('0█1███1█0█0█00',████))])')'█')','(x)'])

ลองออนไลน์!

ขอให้โชคดี =)


1
แตก! นี่เป็นเรื่องสนุก
Giuseppe

3

Python 3, 388 ไบต์, .155, แคร็ก

รอยแตกในนาทีสุดท้าย ใช่นี่คือการทดสอบ Miller-Rabin

ฉันคิดว่าการทดสอบความน่าจะเป็นได้รับอนุญาตไม่แน่นอน 2 ^ -100

คำแนะนำที่ดีในประโยคก่อนหน้านี้

ทำค่าส่งคืน 0 เป็นคอมโพสิตและ 1 เป็น PROBABLY PRIME

* 368> 388: แก้ไขปัญหาเมื่อ z <4

import ██████
def f(z):
 if z<4:return z>>1
 d,s,n,e,c=██z,0,z,0,50
 while not ██1:d//=2;s+=1
 while n>0:n//=2;e+=1
 ███████████()
 while c>0:
  a=0
  while a<2or a>z-█:
   a,b=0,e
   while b>0:a=a*2+██████████████(0,1);b-=█
  x,r=███(█,█,z),██s
  if ██x and x!=██z:
   while r>0:
    x,r=███(█,█,z),██r
    if not ██x:return 0
    elif x==██z:break
   else:return 0
  c-=█
 else:return 1

วิธีการแก้:

import random
def f(z):
 if z<4:return z>>1
 d,s,n,e,c=~-z,0,z,0,50
 while not d&1:d//=2;s+=1
 while n>0:n//=2;e+=1
 random.seed()
 while c>0:
  a=0
  while a<2or a>z-1:
   a,b=0,e
   while b>0:a=a*2+random.randint(0,1);b-=1
  x,r=pow(a,d,z),~-s
  if ~-x and x!=~-z:
   while r>0:
    x,r=pow(x,2,z),~-r
    if not ~-x:return 0
    elif x==~-z:break
   else:return 0
  c-=1
 else:return 1

1
ผมคิดว่ามีสายยาวเช่น"COMPOSITE"ละเมิดจิตวิญญาณของกฎ"รหัสของคุณอาจจะไม่ได้มีความคิดเห็นใด ๆ หรือช่องว่างที่ไม่จำเป็น."
Pavel

@Pavel Edited ดีฉันไม่คิดว่าค่าตอบแทนเป็นความคิดเห็นหรือช่องว่างที่ไม่จำเป็นแม้ว่า
Shieru Asakoto

1
มันถูกต้องทางเทคนิค มันราคาถูก
Pavel

ฉันไม่คิดว่านี่จะยุติลงเมื่อ z = 2
Nitrodon

@Nitrodon โอ๊ะโอมันไม่ได้หยุดเมื่อ z = 3 แก้ไขแล้ว
Shieru Asakoto

3

095 , คะแนน 0.20512820512 [ปลอดภัย]

1id#█#=(DD#█#█{d_█%(█D0█]D}██s]D1.=[1s]

พิมพ์ 1 ถ้าไพรม์, 0 ถ้าคอมโพสิต

วิธีการแก้:

1id#2#=(DD#2#-{d_.%(rD0R]D}drs]D1.=[1s]

2

โหนด JavaScript, คะแนน: 0.4

ที่นี่ทำงานได้ โปรแกรมเต็มรูปแบบที่รับอินพุตจากอาร์กิวเมนต์บรรทัดคำสั่งแรกและเอาต์พุตไปยัง stdout

หวังว่าจะเป็นทางออกที่ไม่ยากที่จะเริ่มต้นนี้

ใช้ตัวอย่างข้อมูลนี้เพื่อคำนวณคะแนน

require███████████2<<2██>n█████rin█(b████████x)█████(92116830)██(a,c)=>a[c[0]██████████(c)]███████);d=███+n;q=████27775██9564,[50259,█6])[█]);a=██q>0████r(n=qa█&█-q-██)a██n%q?██0██(1371528270,22288)(a)

2

เยลลี่ , คะแนน 0 (142857)

25██26█9668368973649182992051██5849159233270202█837903312854349029387313█████

ลองออนไลน์!

รับอาร์กิวเมนต์บรรทัดคำสั่ง

เท็จ = 0
จริง =1


1
รอยแตกที่ไม่ได้ตั้งใจแน่นอน
user202729

@ user202729 เอ๊ะฉันควรจะเปิดเผยมากขึ้นฉันจะโพสต์ใหม่ แต่ฉันไม่สามารถเพิ่มได้ว่ามันจะแตกจนกว่าคุณโพสต์ในหัวข้อโจร : P
Erik the Outgolfer


2

Javascript, คะแนน 0.1894093686354379

let t=[2,3,3,3,3,3,3,5,7,5,7,5,7,7,11,12,13,11,13,13,1,2,17,13,2,3,17,19,23,29,19,19,41,23,23,29,23,"","",29,7,31,31,524,31,37,33,34,41]; function r(a, b) {█████████████████████████████████████████████████████████████};function l(t){let a=0;let b=[];while(true){b.push(t[a]);█████████████;if(!t[a]){return█████};function p(v) {let i=0;let a=r(2,v██);for (i in a){if(v%(█████████a█i██)==0){return false;}};return true;};function f(v){if(l(t).indexOf(v)!=-1){return true;}else{return p(v)};};

โชคดี. : p

โทรหา f ด้วยนายกที่คุณต้องการตรวจสอบ



ครวญเพลง ฉันคิดว่าฉันไม่ได้คิดถึงเรื่องนั้น นี่เป็นเพียงการวอร์มอัพเบื้องต้นทุกประการ: p ทำได้ดีมาก
moonheart08

2

> <>, คะแนน 0.096, แตกโดยโจคิง

:1@v>~~:?1n;█$-1<█?=2:}*{█@:$@:

รอยแตกที่ตั้งใจไว้:

:1@v>~~:?1n;
$-1<^?=2:}*{%@:$@:


ฉันไม่รู้> <> ดีจริง ๆ แต่ไม่ใช่vลูปแรกที่ไม่มีเงื่อนไข
NieDzejkob

@NieDzejkob หากคุณรันโปรแกรมตามที่เป็นอยู่มันจะวนซ้ำตลอดไป
แยกผลไม้

โอ้ฉันเห็นแล้วตอนนี้ ...
NieDzejkob


2

Brain-Flak, คะแนน: 35/134 = 0.2612 ( แตก! )

(({████){██[████)█>(({}))<>}<>{}███{}((██({}))█████{}]██)({}(<>))<>{(({})){({}[()])<>}{}}{}<>([{}()]{})██[██()██(()█[()]██{}██}{}<>{})

ส่งคืน 1 สำหรับไพรม์, 0 สำหรับคอมโพสิต

นี่เป็นภาษาที่ยากมากที่จะลองใช้ความท้าทายนี้เนื่องจากการจัดรูปแบบถูก จำกัด จนไม่ต้องพยายามทำให้ชัดเจนว่าอักขระที่หายไปคืออะไร

นี่เป็นภาษาที่ยากมากในการแก้ปัญหานี้เนื่องจากอ่านยาก



2

Java 1.4+ , 24/145 (0.16551724137)

class X{public static void main(String[]args){System.out.println(new String(████████[Integer.parseInt(args[0])]).matches("█████████████")?███);}}

ลองออนไลน์!


วิธีที่แปลกประหลาดที่สุดที่ฉันเคยเห็นมาเช็คอินในจาวาโดยไกล lol



2

Japt, 19 ไบต์, 0.315789 ... คะแนน, ปลอดภัย

ฉันไม่รู้ว่าฉันบดบังสิ่งนี้มากกว่าที่ฉันต้องการหรือไม่ทำให้คะแนนตัวเองดีขึ้น

█h8575¥█
█UâÊ█Ê█ █2

View solution (คำอธิบายจะมาเร็ว ๆ นี้)


2

C, 34/76 = 0.447368 ปลอดภัย

int p(int n){int r███████2;██r███r++)███+███n;████&███r));return███████n██;}

การมีช่องว่างมากมายนี้หมายความว่าฉันจะมีโอกาสได้รับรอยแตกที่ไม่ตั้งใจมากกว่าที่ตั้งใจไว้

วิธีการแก้:

int p(int n){int r=1,e=n%2;for(;(r++)*(r++)<n;e=e&&(n%r));return e?n>1:n<3;}

คำอธิบาย:

eเก็บค่าบูลีนว่าตัวเลขนั้นไม่สำคัญหรือไม่ (ยกเว้นบางกรณีพิเศษ) riterates nผ่านเลขคี่น้อยกว่าหรือเท่ากับรากที่สองของ return e?n>1:n<3;จัดการกรณีพิเศษเมื่อnเป็นหรือ12


2

M , คะแนน: 4/22 = .1818 ... , แยกโดยเดนนิส

███“;;█»VOḣ2S⁵++3Ọ;”Pv

นี่อาจจบลงด้วยการแตกที่ไม่ตั้งใจเราจะต้องดู มันทำ.

โซลูชั่นของเดนนิสคือ

ÆPø“;;“»VOḣ2S⁵++3Ọ;”Pv

ลองออนไลน์!

ฉันจะปล่อยให้ทางออกของฉันถูกซ่อนไว้สำหรับคนที่จะร้าว คำใบ้ของฉันที่มีต่อเดนนิสเกี่ยวกับการขโมยของเขาคือคำว่า "สวนสัตว์"


@ user202729 ฉันคิดว่าคุณอาจจะถอดรหัสได้
dylnan


1

C, 66 ไบต์, 29 Redacted, คะแนน 0.439

i;p(n){█████2███████ 0███████2;███;███)if(████)return 0;return 1;}

เพียงแค่ส่ง C ง่าย ๆ ; ฉันจะดูว่าอันนี้ใช้เวลานานแค่ไหนก่อนที่ฉันจะโพสต์คนชั่วร้ายจริงๆ


คุณแน่ใจหรือว่าบล็อกสุดท้ายควรมีความยาว 4 อักขระ
NieDzejkob

@NieDzejkob ใช่
MD XF


1

sh + coreutils, คะแนน 19/143 ~ = 0.1328

Cracked

e█ec█s█ █c "██████WyAkKHNoIC1jICJg█WNobyBabUZqZEc5eWZIUnlJQ2█2SnlBblhHNG5m██JoYVd3Z0t6SjhkMk1nTFhjSyB8YmFzZTY0IC1kYCIpIC1lcSAxIF0K█b█se6███d`"

TIO


1
@MDXF: Base64 กำลังเข้ารหัสไม่ใช่การเข้ารหัส ไม่มีกุญแจในการถอดรหัส
โจชัว

คุณสามารถรวมลิงค์ TIO ได้หรือไม่? (อาจทุบตี)
user202729

แตกแล้ว (3 ชั่วโมงที่ผ่านมา)
user202729

1

Brain-Flak , คะแนน 29/140 = 0.207

({}██()██<>){██({}[()])██{}{}███({<({}[()])><>({})<>}{}██████{}██){(({})){({}[()])<>}{}}<>([{}()]{}<>{})<>}(<>██{}({}████)((){[()]██{}██}{})

ลองออนไลน์!

เอาต์พุต 1 สำหรับไพร์มม์และ 0 สำหรับไพรม์


1

Tampio (จำเป็น) คะแนน: 24/51 = 0.5

Luku on alkuluku,jos ████████████e███████ on █████.

นี่เป็นวิธีแก้ปัญหาที่ชัดเจนฉันหวังว่าจะไม่มีใครเข้าใจภาษาฟินแลนด์ได้ที่นี่


1

Tampio (จำเป็น) คะแนน: 26/223 = 0.11659 ...

Luvun kokonaislukuarvot ovat riippuen siitä,onko se yksi,joko listan,jonka alkioita ovat yksi █████████████████████,alkiot tai █████ liitettynä sen alkutekijöihin.Luku on alkuluku,jos sen kokonaislukuarvojen summa on nolla.

1

Pyt , คะแนน: 0.288288 ... [ปลอดภัย]

Đ2⇹█ŘĐĐŁ███⇹ʀĐ↔Đ5Ș↔⇹██=█ŕĐ↔Đ5Ș↔Đř█⇹█████↔Đ4Ș5Ș⇹██⇹3Ș°04Ș↔█3ȘĐŁ█3Ș05Ș↔█⇹04Ș0↔⇹██=█ŕ↔ŕĐĐŁ██↔██↔ŕŕŕŕ█↔████↔ŕŕŕ██¬¬


ส่งออก "จริง" ถ้านายก "เท็จ" ถ้าไม่

ลืมพูดถึงว่าเป็นการทดสอบความน่าจะเป็น

วิธีการแก้:

Đ2⇹⁻ŘĐĐŁ₂`⁻⇹ʀĐ↔Đ5Ș↔⇹Ǥ1=?ŕĐ↔Đ5Ș↔Đř²⇹%∈2*⁻↔Đ4Ș5Ș⇹⁻₂⇹3Ș°04Ș↔+3ȘĐŁ⁺3Ș05Ș↔+⇹04Ș0↔⇹%+=?ŕ↔ŕĐĐŁ⁺⁺↔ł:↔ŕŕŕŕ;↔⁺⁻±?↔ŕŕŕ:;¬¬

สิ่งนี้ใช้การทดสอบแบบดั้งเดิมของ Solovay-Strassen

ลองออนไลน์ได้ที่นี่!


1

Ruby, 27/73 = 0.369863

def p n;███████(██n.times████a[2..-1].map{|s|█.██n████s}██.█*█|██})█);end

มันควรจะสนุก


1

Python 3คะแนน: 0.386363 แตก

p=lambda x,i=2:█████or(x%i and ████████)████

ไปเพื่อจริงๆผลไม้ที่แขวนต่ำในตอนแรก ฉันจะมาพร้อมคำตอบที่หน้าด้านในไม่ช้า

user71546 ทำให้มันเป็น "งาน" ด้วย

p=lambda x,i=2:i>=x or(x%i and p(x,i+1))or 0

... แต่นั่นก็ไม่ได้ตั้งใจ รหัสเดิมคือ

p=lambda x,i=2:i>x/2or(x%i and p(x,i+1))or 0

ไม่สามารถทำงานกับ x <2 ได้ อุ่ย


1
แตก? ไม่ทำงานเมื่อ x <2 แม้ว่า
Shieru Asakoto

0

JavaScript (ES7), 297 ไบต์, 103 Redacted, .347

M=(N,X=N,F=(n,a=█████)=>a>1e-20?█████+F(n,█████████):1,G=(n,a=█████)=>a>1e-20?█████+G(n,███████):n==2?0:G(n-1),H=(n,a=█████)=>a>1e-20?█████-H(n,███████):0,I=n=>████████I(████),J=n=>I(n)*████+H(█████████-1),K=(n,l=n|0)=>(n-l>=.5)+l,L=(a,b)=>██████████(a)+█(b)████,Z=L(--N,N)██)=>L(Z,████M(N,X)██)██

คำตอบ Python ก่อนหน้าของฉันตรงไปตรงมาเกินไปดังนั้นนี่คือสิ่งเลวร้าย;)

ตรรกะที่อยู่เบื้องหลังนั้นตรงไปตรงมาแม้ว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.