คำถามติดแท็ก restricted-source

กำหนดข้อ จำกัด ของซอร์สโค้ดที่ใช้ในการแก้ปัญหาความท้าทายตัวอย่างเช่นไม่มีตัวเลขในซอร์สโค้ด

30
พิมพ์อักขระ ASCII ที่พิมพ์ได้ทุกตัวโดยไม่ต้องใช้
ในภาษาการเขียนโปรแกรมที่คุณเลือกให้เขียน 95 โปรแกรมโดยแต่ละโปรแกรมจะแสดงอักขระ ASCII ที่พิมพ์ได้ 95 ตัว ที่แตกต่างกันโดยไม่มีอักขระนั้นเกิดขึ้นที่ใดก็ได้ในโปรแกรมโดยไม่ต้องตัวละครที่เกิดขึ้นได้ทุกที่ในโปรแกรม ตัวอย่างเช่นหากภาษาของคุณคือPythonโปรแกรมของคุณPอาจแสดงอักขระออกมา print(chr(80)) เพราะPมีรหัส ASCII 80 โปรแกรมนี้ใช้ได้เพราะPไม่เคยปรากฏในซอร์สโค้ด อย่างไรก็ตามสำหรับโปรแกรมที่แสดงผลตัวพิมพ์เล็กpบางอย่างเช่น print(chr(112)) จะไม่ถูกต้องเพราะในขณะที่มันไม่พิมพ์p, pเป็นปัจจุบันในรหัส โปรแกรมที่ถูกต้องอาจเป็น exec(chr(112)+'rint(chr(112))') ซึ่งพิมพ์แต่ไม่ได้มีpp เป้าหมายของคุณคือทำให้แต่ละโปรแกรม 95 โปรแกรมของคุณสั้นที่สุด คะแนนของคุณคือผลรวมของความยาวอักขระของโปรแกรมทั้งหมดของคุณ หากด้วยเหตุผลใดก็ตามที่คุณไม่สามารถเขียนโปรแกรมที่ถูกต้องสำหรับตัวละครบางตัวคุณอาจทำเครื่องหมายตัวอักษรเหล่านั้นเป็น "Did Not Program" หรือDNPและละเว้นโปรแกรมทั้งหมด วิธีนี้ภาษาที่เข้มงวดทางภาษาจะสามารถแข่งขันได้ คำตอบที่ชนะคือคำตอบที่มีคะแนนต่ำสุดของชุดคำตอบที่มี DNP น้อยที่สุด กฎระเบียบ ซอร์สโค้ดของโปรแกรมทั้งหมดของคุณอาจมีเฉพาะแท็บASCII ที่พิมพ์ได้และการขึ้นบรรทัดใหม่ซึ่งทั้งหมดจะถูกนับเป็นอักขระเดียว (เพราะในการเข้ารหัสที่แตกต่างกันมันจะง่ายต่อการละเว้นอักขระที่ไม่มีอยู่!) หมายเหตุ:กฎนี้ดูเหมือนจำเป็น แต่มีหลายภาษาที่มีการเข้ารหัสที่แตกต่างกันและฉันแน่ใจว่ามันจะเจ๋งที่เห็นคำตอบสำหรับพวกเขา ดังนั้นคุณสามารถทำลายกฎนี้คุณสามารถใช้อักขระใดก็ได้ที่คุณต้องการแต่จากนั้นคำตอบของคุณจะไม่สามารถแข่งขันได้และไม่สามารถชนะได้ โปรแกรมที่จะต้องเกิดขึ้นจริงเต็มรูปแบบโปรแกรมตามอนุสัญญามาตรฐานภาษาของคุณ ไม่อนุญาตให้ใช้ฟังก์ชันและตัวอย่างข้อมูลREPL ผลลัพธ์ของแต่ละโปรแกรมควรไปที่ stdout หรือทางเลือกที่ได้รับการยอมรับในภาษาของคุณ โปรแกรมไม่ควรพร้อมท์หรือต้องการอินพุต (หากการขอให้ป้อนข้อมูลมีอยู่ในภาษาของคุณแสดงว่าไม่เป็นไร) ควรกำหนดโปรแกรมกำหนดเวลา จำกัด …

20
รหัสสนามกอล์ฟ
แรงบันดาลใจจากค่าเริ่มต้นนี้สำหรับ IO งาน เขียนโปรแกรมที่ได้รับจำนวนเต็มใส่xระหว่าง 0 และ 255 xเกิดปัญหาด้วยรหัสทางออก ข้อ จำกัด คุณไม่สามารถเรียกสิ่งใด ๆ ที่มีไว้สำหรับส่งออกรหัสโดยตรง ( System.exit(x)ส่งคืนจากmainฯลฯ ) แต่โปรแกรมของคุณจะต้องทำให้เกิดข้อผิดพลาดหรือความผิดพลาดซึ่งจะทำให้เกิดความเป็นไปได้ที่ 1 คือโปรแกรมที่จะออกด้วยจำนวนเต็มอินพุท ในกรณีนี้คำว่า "ผิดพลาด" และ "ผิดพลาด" หมายถึงโปรแกรมทำให้เกิดข้อยกเว้นที่ไม่คาดคิดร้ายแรงซึ่งในกรณีนั้นมีวิธีการใช้งานการดำเนินการหรือใช้งานอย่างไม่ถูกต้อง คุณอาจไม่ทำให้เกิดข้อผิดพลาดโดยตรงโดยการโยนมันโดยตรง คุณต้องทำให้เกิดขึ้นโดยใช้วิธีการฟังก์ชั่นหรืออื่น ๆ ที่มีวัตถุประสงค์ให้บริการฟังก์ชั่นที่แตกต่างกัน (เช่นพยายามที่จะดำเนินการเขียนไฟล์ไปยังไดเรกทอรีอ่านอย่างเดียว) คุณต้องมีรหัสทางออกอย่างน้อยสองรหัสในโปรแกรมของคุณ การยุติกระบวนการด้วยการใช้สัญญาณถูกแบน (อาจพบเหตุผลในการสนทนานี้ ) เกณฑ์การให้คะแนน คะแนนของโปรแกรมของคุณจะถูกกำหนดโดยจำนวนรหัสทางออกที่รองรับซึ่งการสรุปรหัสคือ tiebreaker จำนวนรหัสทางออกที่รองรับมากที่สุดจะเป็นผู้ชนะ!

15
เขียนบทสนทนาทั้งหมดโดยใช้คนที่ไม่บริสุทธิ์
อักขระ ASCIIจากรหัสทศนิยม 33-126 คือ: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ โปรดสังเกตว่าในแบบอักษรส่วนใหญ่ 25 ตัวอักษรเหล่านี้มี "หลุม" ในพวกเขา: ( ประเภทที่มากกว่า 0คุณอาจพูด) #$%&04689@ABDOPQRabdegopq อีก 68 ตัวอักษร "ไม่บริสุทธิ์" คือ: !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดเท่าที่จะทำได้โดยใช้เฉพาะอักขระที่ไม่มีการตัดทอนซึ่งแสดงผลอักขระที่อยู่ในแต่ละครั้งในลำดับใด ๆ เนื่องจาก Space, Tab และ newlines (Line Feed และ / หรือ Carriage Return) เป็นพื้นที่ว่างที่อาจปรากฏในโปรแกรมหรือเอาท์พุตของมัน พวกเขายังคงนับรวมจำนวนอักขระ ห้ามใช้อักขระ ASCII อื่น (และไม่ใช่อักขระที่ไม่ใช่ ASCII) หมายเหตุ คุณไม่จำเป็นต้องใช้อักขระที่ไม่ได้ตัดทั้งหมดหรืออย่างใดอย่างหนึ่งเท่านั้น ผลลัพธ์อาจไม่มีอักขระที่ไม่ได้หุ้ม ภาษาช่องว่างอาจจะใช้ เอาต์พุตควรไปที่ stdout หรือสามารถไปที่ไฟล์ ไม่ควรมีอินพุต โบนัส:เพื่อความสนุกลองพิมพ์ตัวละครที่ไม่ได้ใช้ตัวละครทั้งหมด …

24
ช่องว่างที่สำคัญ
เรากำหนดช่องว่างให้เป็นหนึ่งในสามของตัวละครแท็บ (0x09), ขึ้นบรรทัดใหม่ (0x0A) หรือเว้นวรรค (0x20) สำหรับความท้าทายนี้คุณต้องเขียนสองโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมเดียวกันซึ่งทำงานดังต่อไปนี้: นับอักขระช่องว่างในสตริงที่กำหนด ตัวอย่างเช่นการป้อนข้อมูล 123 -_- abc def จะส่งคืน 7 (หากไม่มีบรรทัดใหม่ต่อท้าย) แยกสตริงที่กำหนดที่ช่องว่างที่ต่อเนื่องกัน หากสตริงเริ่มต้นหรือลงท้ายด้วย whitespace ไม่ควรมีสตริงว่างที่ส่งคืนที่สิ้นสุด ตัวอย่างเช่นอินพุตเดียวกัน 123 -_- abc def ["123", "-_-", "abc", "def"]จะกลับมา ไม่ว่าในกรณีใดคุณสามารถป้อนข้อมูลผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรือฟังก์ชันอาร์กิวเมนต์ส่งคืนผลลัพธ์หรือพิมพ์ STDOUT สำหรับโปรแกรมที่สองหากคุณเลือกที่จะพิมพ์ไปยัง STDOUT โปรดพิมพ์แต่ละสตริงในบรรทัดของตัวเองโดยไม่ต้องใส่เครื่องหมายอัญประกาศ สำหรับทั้งสองโปรแกรมคุณอาจสมมติว่าอินพุตมีเฉพาะ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E) และช่องว่าง ตอนนี้ที่นี่คือการจับ: หากช่องว่างทั้งหมดถูกลบออกจากทั้งสองโปรแกรม / ฟังก์ชั่นสตริงผลลัพธ์จะต้องเหมือนกัน นั่นคือสองส่งของคุณอาจเพียง แต่แตกต่างกันในจำนวนและตำแหน่งของตัวอักษรช่องว่าง โปรแกรม …

30
เอาท์พุทข้อความ“ Code Bowling”
รหัสโบว์ลิ่ง คุณได้รับการว่าจ้างจาก Brunswick Bowling เพื่อสร้างโปรแกรมง่าย ๆ ในการแสดงผลข้อความCode Bowlingบนหน้าจอ บริษัท นี้มีมูลค่าเงินสวยและคุณรู้สึกว่าคุณสามารถโกงพวกเขาสำหรับค่อนข้างบิตของเงินสด รายละเอียดงานระบุอย่างชัดเจนว่าพวกเขาจ่ายเงินตามเกณฑ์การให้คะแนนและคุณค่อนข้างมั่นใจว่าคุณสามารถจัดการระบบการให้คะแนนของพวกเขาเพื่อประโยชน์ของคุณและได้รับการตรวจสอบการจ่ายเงินที่ใหญ่ที่สุดที่เป็นไปได้จากพวกเหล่านี้ ในการดำเนินการดังกล่าวคุณจะต้องบรรจุรหัสให้มากที่สุดเท่าที่จะทำได้ในโปรแกรม / ฟังก์ชั่นของคุณแม้ว่าระบบการให้คะแนนจะได้รับการออกแบบมาเพื่อป้องกันไม่ให้คุณทำเช่นนั้น ออกกระปุกออมสินของคุณกันเถอะรหัส! ท้าทาย ความท้าทายคือการส่งออกข้อความCode Bowlingอย่างที่เขียนไว้ที่นี่ด้วยคะแนนสูงสุดเท่าที่จะเป็นไปได้ (ดูหัวข้อ: ระบบการให้คะแนนด้านล่าง) บรรทัดใหม่และนำหน้า (ขึ้นบรรทัดใหม่) เป็นที่ยอมรับ รหัสของคุณอาจเป็นโปรแกรมทั้งหมดหรือเพียงแค่ฟังก์ชั่นที่ปฏิบัติการได้ กฎระเบียบ ข้อผูกมัด: ความท้าทายนี้ใช้Code-Bowling: กฎทั่วไป, การแก้ไข 1.0.0 ; ดู Meta สำหรับรายละเอียด ตัวละคร: Byte Ratio ใน Code-Bowling จะต้องนับจำนวนตัวอักษรมากกว่า byte-count เหตุผลที่ชัดเจนสำหรับเรื่องนี้ก็คือตัวอักษร Unicode แบบหลายไบต์ (เช่น🁴) สามารถใช้แทนอักขระแบบ Unicode ไบต์เดียวเพื่อการนับจำนวนไบต์และจะทำให้โบว์ลิ่งมากขึ้นเกี่ยวกับผู้ที่เปลี่ยนชื่อตัวแปรส่วนใหญ่ด้วยอักขระแบบ Unicode แบบไบต์สูง …

30
ส่งออกคะแนนของคุณ!
ท้าทาย: แนวคิดนั้นง่ายพอ: เขียนโปรแกรมเต็มรูปแบบเพื่อให้คะแนนคะแนนกอล์ฟของตัวเอง! bytesเอาท์พุทควรจะนับไบต์ของโปรแกรมของคุณและต่อท้าย แต่รอ ..... มีข้อ จำกัด หนึ่งข้อ: ซอร์สโค้ดของคุณไม่สามารถรวมตัวเลขใด ๆ จากการนับไบต์ของคุณ ดังนั้นถ้าคะแนนของคุณเป็น186 bytesโปรแกรมของคุณไม่สามารถมีตัวอักษร1, 6หรือ8 ตัวอย่างผลลัพธ์: 315 bytes 27 Bytes 49 BYTES กฎเพิ่มเติม: อักขระช่องว่างและการขึ้นบรรทัดใหม่ที่ไม่จำเป็นถูกห้ามในซอร์สโค้ดอย่างไรก็ตามการเว้นวรรคต่อท้ายและการขึ้นบรรทัดใหม่เป็นที่ยอมรับอย่างสมบูรณ์ในเอาต์พุต ควรมีช่องว่างเดียวระหว่างจำนวนและbytesในการส่งออก ตัวอักษรเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ไม่มีการตรวจสอบตนเองหรืออ่านซอร์สโค้ด ช่องโหว่มาตรฐานไม่ได้รับอนุญาต นี่คือโค้ดกอล์ฟดังนั้น รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

30
การต่อท้ายความยาวสตริง
ท้าทาย: กำหนดสตริงsตัวอักษรa- z, A- Z, 0- 9ผนวกความยาวของsตัวเองนับตัวอักษรเพิ่มเติม (s) sมีความยาวเป็นส่วนหนึ่งของความยาวทั้งหมดของ การป้อนข้อมูล: เพียงสตริงที่มีความยาวโดยพลการ (ว่างเปล่า) เอาท์พุท: สตริงเดียวกัน แต่มีความยาวต่อท้าย ควรนับอักขระที่แสดงความยาวเป็นส่วนหนึ่งของความยาว ในกรณีที่มีความยาวที่ถูกต้องจำนวนมากเพื่อต่อท้ายเลือกขนาดที่เล็กที่สุดที่เป็นไปได้ (ดูตัวอย่างกรณีทดสอบ) กรณีทดสอบ: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
พิมพ์ตัวอักษรและตัวเลข ASCII ทั้งหมดโดยไม่ใช้
ท้าทาย พิมพ์ตัวอักษรต่อไปนี้: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 จับคือคุณไม่สามารถใช้หนึ่งในนั้นในรหัสของคุณ คุณสามารถพิมพ์ตามลำดับโดยไม่ว่าจะมีหรือไม่มีบรรทัดใหม่นำหน้าหรือต่อท้าย แต่คุณไม่สามารถพิมพ์อักขระอื่น ๆ ได้ กฎระเบียบ คุณไม่สามารถใช้อักขระใด ๆ จากชุดที่กล่าวถึงข้างต้น คุณสามารถใช้อักขระอื่น ๆ ไม่มีการโกง ช่องโหว่มาตรฐานถูกแบน นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ ชี้แจง หากภาษาของคุณใช้ชุดอักขระที่แตกต่างกันคุณอาจไม่สามารถใช้ codepoints ในชุดอักขระที่สอดคล้องกับอักขระตัวอักษรและตัวเลข การส่งคืนสตริงจากฟังก์ชันถือว่าเป็นรูปแบบที่ถูกต้องของเอาต์พุต คุณอาจส่งคืนอาร์เรย์ถ่าน

30
พิมพ์วลี“ และเธอพูดว่า 'แต่นั่นเป็นของเขา'” ใช้ตัวอักษรเท่านั้น
พิมพ์วลีAnd she said, 'But that's his.'โดยใช้เฉพาะอักขระต่อไปนี้: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ไม่มีเครื่องหมายวรรคตอนหรืออักขระที่ไม่ใช่ตัวอักษรใด ๆ คุณสามารถใช้ภาษาการเขียนโปรแกรมอะไรก็ได้ที่คุณต้องการ ช่องว่างได้รับอนุญาตอย่างสมบูรณ์ โปรแกรมที่สั้นที่สุดชนะ

30
ใช่มีความยาว 91 บรรทัด
yesจาก coreutils เป็น91 สายยาว หลายคนมีความเห็น แต่ที่ยังคงเป็นทางยาวเกินไป แก้ไขจากกันยายน 2019: ไฟล์ต้นฉบับขยายตัวในช่วงห้าปีที่ผ่านมาและขณะนี้มีความยาว 126 บรรทัด เขียนโปรแกรมที่เลียนแบบyes: ส่งออกไปยังstdoutกระแสอนันต์ของ "y \ n" ต้องมีตัวเลือกในการหยุดกระบวนการอื่นนอกจากฆ่ากระบวนการด้วยSIGKILL: แต่SIGINTและSIGPIPEใช้ได้ คุณไม่ได้รับอนุญาตให้ใช้ "y" หรือ "\ n" หรือค่า ASCII ของพวกเขา (121, 0x79, 0171, 10, 0xA หรือ 012) คำตอบที่สั้นที่สุดชนะ โบนัส: ลบ 10 จากความยาวโค้ดของคุณหากคุณสามารถรับวลีstdinและพิมพ์ออกมาแทน "y" (แต่ยังรวมถึงตัวแบ่งบรรทัด)

30
FizzBuzz Golf ที่ Obfuscated [ปิด]
สร้าง FizzBuzz ที่สั้นที่สุดเท่าที่จะเป็นไปได้ หากต้องการได้รับการพิจารณาว่าสับสนต้องมีสิ่งต่อไปนี้อย่างน้อยหนึ่งอย่าง: ไม่มีคำใด ๆ "Fizz", "Buzz" หรือ "FizzBuzz" ไม่มีตัวเลข 3, 5 หรือ 15 ใช้ข้อใดข้อหนึ่งในวิธีที่ทำให้เข้าใจผิด ข้อควรจำ: เป้าหมายนั้นต้องสั้นและยากที่จะติดตาม ตัวอย่างโค้ดที่เป็นแรงบันดาลใจของคำถามนี้เป็นดังนี้: public class Default { enum FizzBuzz { Buzz = 1, Fizz, FizzBuzz } public static void Main(string[] args) { byte[] foo = Convert.FromBase64String("IAmGMEiCIQySYAiDJBjCIAmGMEiCIQySYA=="); MemoryStream ms = new MemoryStream(foo); byte[] myByte = …

30
ลดความน่าเชื่อถือของสตริงนี้!
เมื่อสร้าง Palindrome ตามความท้าทายนี้ให้ลดระดับความดัง กรณีทดสอบ abcdedcba -> abcde johncenanecnhoj -> johncena ppapapp -> ppap codegolflogedoc -> codegolf เช่นนี้เป็นเรื่องเกี่ยวกับ depalindromizing, รหัสของคุณไม่สามารถเป็นประโยค โปรดจำไว้ว่านี่คือรหัสกอล์ฟดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ

30
มันเป็นผู้นำหรือติดตาม?
ในการท้าทายนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้สตริงเป็นอินพุตและเอาต์พุตหนึ่งในสองค่าที่เป็นไปได้ เราจะเรียกค่าใดค่าหนึ่งtruthyและเป็นหนึ่งในfalsy พวกเขาไม่จำเป็นต้องจริงจะtruthyหรือfalsy เพื่อให้คำตอบที่ถูกต้องนั้นจะต้องเป็นไปตามเกณฑ์เพิ่มเติมสี่ประการ เมื่อคุณผ่านโปรแกรมของคุณกับตัวเองว่ามันจะออกผลลัพธ์เป็นtruthyค่า หากคุณส่งโปรแกรมของคุณเป็นอินพุตไปยังคำตอบที่เก่ากว่าก็ควรเอาท์พุทผลลัพธ์จริง (ของโปรแกรมที่คุณกำลังจะส่ง) หากคุณส่งคำตอบที่เก่ากว่าให้กับคำตอบของคุณในฐานะที่เป็นอินพุทก็ควรจะส่งออกผลลัพธ์ที่ผิดพลาด (ของโปรแกรมของคุณ) ต้องมีจำนวนอนันต์ของสตริงที่ประเมินtruthyการส่งออกในทุกคำตอบกับความท้าทาย (รวมถึงคำตอบใหม่ของคุณ) สิ่งนี้จะทำคือมันจะสร้างสายโซ่ของคำตอบซึ่งแต่ละโปรแกรมสามารถตรวจสอบว่าโปรแกรมอื่น ๆ ในกลุ่มมาก่อนหรือหลังจากนั้น เป้าหมายของความท้าทายนี้คือการสร้างรายการข้อ จำกัด ของแหล่งที่มาซึ่งนำไปใช้กับคำตอบที่ต่อเนื่องทำให้แต่ละคนมีความท้าทายมากกว่าครั้งสุดท้าย ตัวอย่าง โซ่ (เขียนใน Haskell) สามารถเริ่มต้น: f _ = True Trueเนื่องจากไม่มีโปรแกรมที่มีอายุมากกว่าเกณฑ์ที่ใช้ไม่ได้กับคำตอบนี้ต้องส่งออกเพียงหนึ่งของค่าที่เป็นไปได้ทั้งสองในกรณีนี้ก็มักจะเอาท์พุท การทำเช่นนี้อาจเป็นคำตอบ: f x=or$zipWith(==)x$tail x ลองออนไลน์! ซึ่งอ้างว่ามีอักขระสองครั้งในแถวแถวหนึ่งในสตริง คำตอบแรกไม่มีคุณสมบัตินี้ในขณะที่สองไม่ ( ==) ดังนั้นนี่คือคำตอบถัดไปที่ถูกต้อง กฎพิเศษ คุณสามารถใช้ภาษาใดก็ได้ที่คุณต้องการ (ซึ่งมีการนำไปใช้อย่างอิสระ) หลาย ๆ ครั้งตามที่คุณต้องการ หากคุณเป็นคนสุดท้ายที่ตอบคำถามคุณต้องรออย่างน้อย 7 วันก่อนโพสต์คำตอบใหม่ โปรแกรมของคุณอาจไม่อ่านซอร์สของมันเอง เนื่องจากกฎข้อที่ 4 นั้นยากเกินกว่าจะตรวจสอบได้ว่ามีฟังก์ชั่นการเข้ารหัสที่เกี่ยวข้องหรือไม่จึงไม่อนุญาตให้ใช้ฟังก์ชั่นดังกล่าว …

30
หารจำนวนด้วย 3 โดยไม่ใช้ตัวดำเนินการ *, /, +, -,%
การอ้างอิงคำถามนี้ใน SO (การแจ้งเตือนสปอยเลอร์!): คำถามนี้ถูกถามในการสัมภาษณ์ Oracle คุณจะหารจำนวนด้วย 3 โดยไม่ใช้ *, /, +, -,%, โอเปอเรเตอร์ได้อย่างไร หมายเลขอาจถูกเซ็นชื่อหรือไม่ได้ลงนาม งานสามารถแก้ไขได้ แต่ดูว่าคุณสามารถเขียนรหัสที่สั้นที่สุด กฎ: ดำเนินการหารจำนวนเต็มที่ต้องการ( /3) ห้ามใช้ในผู้ประกอบการที่ไม่ใช่ข้อความ-based *, /, +, -หรือ%(หรือเทียบเท่าของพวกเขาเช่น__div__หรือadd()) นอกจากนี้ยังนำไปใช้ในการเพิ่มและ decrementing ผู้ประกอบการเหมือนหรือi++ i--การใช้ตัวดำเนินการสำหรับการต่อข้อมูลสตริงและการจัดรูปแบบนั้นก็โอเค การใช้อักขระเหล่านี้สำหรับโอเปอเรเตอร์ต่าง ๆ เช่น-โอเปอเรเตอร์unary สำหรับจำนวนลบหรือ*เพื่อแทนตัวชี้ใน C ก็โอเคเช่นกัน ค่าอินพุตอาจใหญ่มาก (สิ่งที่ระบบของคุณสามารถจัดการได้) ทั้งบวกและลบ อินพุตอาจเป็น STDIN หรือ ARGV หรือป้อนด้วยวิธีอื่น สร้างรหัสที่สั้นที่สุดที่คุณสามารถทำได้ด้านบน

2
JSF ** k มีเพียง 5 สัญลักษณ์?
นี่ไม่ใช่ความท้าทาย แต่เป็นคำถามที่ฉันคิดว่ามันเป็นหัวข้อเนื่องจาก คำถามที่ไม่ท้าทายที่เกี่ยวข้องกับการแก้ปริศนาการเขียนโปรแกรมหรือความท้าทายบางประเภทนั้นอยู่ในหัวข้อด้วย ตอนนี้คำถาม: เป็นไปได้ไหมที่จะเขียนโค้ด JavaScript ด้วยตัวอักษรเพียง 5 ตัว? JSFuckทำสิ่งนี้ด้วยสัญลักษณ์ 6 อันแล้ว!+[]()แต่ฉันสงสัยว่าต้องใช้!ตัวละครนี้หรือไม่ JSFuck ทำงานร่วมกับการคัดเลือกนักแสดงเป็นสตริง (โดยการเพิ่มอาร์เรย์ที่ว่างเปล่า) การคัดเลือกนักแสดงไปยังหมายเลข (โดยการเขียนเครื่องหมาย + ด้านหน้า) และการคัดเลือกนักแสดงเพื่อบูลีนโดยปฏิเสธ ตัวอย่างเช่น: [] \\ Empty array +[] \\ Cast to number -> 0 !+[] \\ Negate -> true !+[]+[] \\ Cast to string -> "true" จากสตริงนี้เราสามารถแยกตัวอักษรทั้งหมดโดยใช้เครื่องหมายวงเล็บเหลี่ยมที่มีตัวเลขอยู่ข้างในและตัวเลขใด ๆ ที่สามารถทำได้โดยการเพิ่มจริงเข้าด้วยกันหลายครั้ง เช่นนี้สามารถพบตัวอักษรจำนวนมากและสามารถต่อกับสตริงได้ สตริงที่สำคัญที่สุดที่สามารถสร้างได้คือ"constructor"สามารถใช้เพื่อรับค่าFunctionจากฟังก์ชั่นใด ๆ …

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