คำถามติดแท็ก code-generation

สำหรับความท้าทายที่คำตอบคาดว่าจะสร้างรหัส

8
เครื่องกำเนิด Quine ทั่วไป
ความท้าทาย ในความท้าทายนี้คุณระบุภาษาต้นฉบับ Sและภาษาเป้าหมาย Tงานของคุณคือการเขียนโปรแกรมดังต่อไปนี้ในภาษาที่P Sถ้าเป็นโปรแกรมที่ถูกต้องQในภาษาที่Tจะได้รับเป็น input เพื่อPมันจะได้ผลลัพธ์เป็นโปรแกรมที่ถูกต้องRในภาษาที่Tซึ่งจะเข้าไม่ได้และเอาท์พุทQ(R)ที่เป็นโปรแกรมที่นำไปใช้กับรหัสที่มาของQ นอกจากนี้คุณควรจะนำเสนอในคำตอบของคุณโปรแกรมตัวอย่างขี้ปะติ๋ว(น่าสนใจมากขึ้นดีกว่าแม้ว่าคุณแต้มสำหรับเรื่องนี้) โปรแกรมส่งผลและการส่งออกของ นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดสำหรับการชนะRQRRP กล่าวอีกนัยหนึ่งนี่เป็นความท้าทายเกี่ยวกับการเขียน "ตัวสร้างควินสากล" ซึ่งสามารถสร้างประเภททั่วไปได้ตามอำเภอใจ ชี้แจง ภาษาต้นทางและเป้าหมายของคุณอาจเหมือนกัน โปรแกรมที่Pควรใช้เวลาหนึ่งสตริงเป็น input (จาก STDIN หรือเทียบเท่า) และสตริงหนึ่ง output (เพื่อ STDOUT หรือเทียบเท่า) Rเป็นโปรแกรมควรส่งออกทุก โปรแกรมอินพุตQควรแปลงสตริงเป็นสตริงอื่น แต่รูปแบบมีความยืดหยุ่นมากขึ้น: สามารถเป็นฟังก์ชั่นแบบสตริงต่อสตริง, โค้ดขนาดเล็กที่ปรับเปลี่ยนตัวแปรด้วยชื่อที่แน่นอน, สนิปเพตที่ปรับเปลี่ยนสแต็คข้อมูลหากภาษาเป้าหมายของคุณ มีหนึ่งรายการและอื่น ๆ คุณสามารถ จำกัด รูปแบบของรายการเพิ่มเติมQโดยระบุว่าตัวอย่างเช่นพวกเขาอาจไม่มีความคิดเห็นใด ๆ อย่างไรก็ตามคุณต้องสามารถใช้ฟังก์ชัน string-to-string ที่คำนวณได้ใด ๆ เป็นโปรแกรมอินพุตQและคุณต้องระบุอย่างชัดเจนถึงวิธีการทำงานของฟังก์ชันและข้อ จำกัด เพิ่มเติมที่คุณมีต่อฟังก์ชันเหล่านั้น โปรแกรมเอาต์พุตRควรเป็น quine (ทั่วไป) ดังนั้นจึงต้องไม่อ่านอินพุตใด ๆ (อินพุตของผู้ใช้ไฟล์ …

9
ทำตัวเลขที่ฉลาด
ปรีชาญาณเป็นภาษาที่ใช้ง่ายบิตฉันออกแบบในขณะที่กลับ มันเป็นไปตามรอบหลามของการดำเนินงานค่าที่เหมาะสม มีการดำเนินการหลายอย่างโดยส่วนใหญ่จะเหมือนหรือคล้ายกับสัญลักษณ์เทียบเท่าใน Python : ทำซ้ำส่วนบนสุดของสแต็ก ? หมุนด้านบนของสแต็กไปที่ด้านล่าง ! หมุนด้านล่างของสแต็คไปด้านบน [ ] วนรอบในขณะที่ด้านบนของสแต็กไม่เป็นศูนย์ ~ไม่ใช่ส่วนบนของสแต็ก ( -(n+1)) -ลบล้างด้านบนของสแต็ก ( -n) >bitshift ด้านบนของสแต็คหนึ่งครั้งไปทางขวา ( n//2) <bitshift ด้านบนของสแต็คหนึ่งครั้งไปทางซ้าย ( n*2) ^หรือสองรายการบนสุดของสแต็ก ( เหมือนกับ Python ) |หรือสองรายการบนสุดของสแต็ก ( เหมือนกับ Python ) &และสองรายการแรกสุดของสแต็ก ( เหมือนกับ Python ) การสร้างจำนวนเต็มใน Wise นั้นค่อนข้างง่ายคุณสามารถสร้างศูนย์ด้วย::^และเพิ่มขึ้นด้วย~-ดังนั้นคุณจึงทำศูนย์และเพิ่มมันหลายครั้ง อย่างไรก็ตามถ้าเราลบ-สิ่งต่าง ๆ ออกไปจะน่าสนใจขึ้นอีกนิด เรายังคงสามารถทำให้ทุกหมายเลขโดยใช้การดำเนินการที่เหลืออยู่ ตัวอย่างเช่นที่นี่ …

11
เอาท์พุทโปรแกรมที่ส่งออกโปรแกรม ... ที่จ่าย PPCG
ท้าทาย: เขียนรหัสที่เมื่อเรียกใช้งานจะส่งออกซอร์สโค้ดของโปรแกรมที่สองที่สามารถดำเนินการในภาษาอื่น โปรแกรมที่สองควรส่งออกซอร์สโค้ดของโปรแกรมที่สามที่สามารถดำเนินการในภาษาที่สามเป็นต้น โปรแกรมสุดท้ายควรเอาต์พุตPPCGด้วยการขึ้นบรรทัดใหม่ที่เป็นทางเลือกเดียว ผู้ชนะจะได้รับการส่งด้วยภาษาส่วนใหญ่ ความยาวรหัสของโปรแกรมแรกจะเป็นตัวแบ่งไทม์ กฎสำคัญ: ไม่มีโปรแกรมใดที่เหมือนกัน แต่ละภาษาจะต้องทำงานกับหนึ่งในซอร์สโค้ดเท่านั้น มันควรจะเป็นไปไม่ได้ที่จะใช้ภาษาเดียวกันสองสถานที่ในห่วงโซ่โดยไม่ทำลายมัน(ดูตัวอย่าง) ห่วงโซ่ที่สั้นลงไม่ใช่ห่วงโซ่ที่หัก หากคุณสามารถใช้ภาษาในสถานที่ที่แตกต่างไปจากที่ตั้งใจไว้และผลลัพธ์ที่ได้คือ PPCG แสดงว่ามันไม่ถูกต้อง ทุกรุ่นของภาษานับเป็นภาษาที่ไม่ซ้ำกัน (แต่โปรดจำไว้ว่ากฎข้อที่ 2) ตัวอย่าง: ส่งไม่ถูกต้อง: print("""print'disp("PPCG")'""") Python 3: งานprint("""print'disp("PPCG")'""")พิมพ์print'disp("PPCG")' Python 2: print'disp("PPCG")'ภาพพิมพ์disp("PPCG") ระดับแปด: disp("PPCG")พิมพ์PPCG สิ่งนี้ทำงานได้อย่างถูกต้องแต่:คุณสามารถเรียกใช้ได้ทั้งรหัสแรกและรหัสที่สองใน Python 2 โดยไม่ทำลายสายโซ่ดังนั้นจึงเป็นการละเมิดกฎหมายเลข 2 การส่งที่ถูกต้องด้วยคะแนน 3: print("""print'disp("PPCG")'""") Python 3: งานprint("""print'disp("PPCG")'""")พิมพ์print'disp("PPCG")' Perl: print'disp("PPCG")'พิมพ์disp("PPCG") ระดับแปด: disp("PPCG")พิมพ์PPCG นี่เป็นรหัสเดียวกับตัวอย่างที่ไม่ถูกต้อง ความแตกต่างคือเราได้เลือกภาษาที่เป็นไปตามกฎข้อที่ 2: คุณไม่สามารถเรียกใช้รหัสแรกใน Perl / Octave, …

9
meta-polyglot Quine
ในช่วงเวลาของฉันใน PPCG ฉันได้สังเกตเห็นว่าปัญหา quine และ polyglot ค่อนข้างเป็นที่นิยม นอกจากนี้ meta-solution สำหรับปัญหากล่าวคือสคริปต์ที่สร้างโปรแกรมซึ่งเป็นวิธีแก้ปัญหามักจะได้รับการตอบรับเชิงบวกจากชุมชนเป็นจำนวนมาก ดังนั้นฉันได้สร้างความท้าทายนี้ซึ่งใช้ความคิดทั้งสามนี้ งานของคุณผู้อ่านและผู้ที่ชื่นชอบcode-golfคือสร้างสคริปต์ให้สั้นที่สุดเท่าที่จะทำได้ในสองภาษา A และ B เพื่อสร้าง quines สำหรับ A และ B เมื่อโปรแกรมของคุณทำงานในภาษา A ควรสร้าง โปรแกรมที่เป็น quine ในภาษา B แต่ไม่ใช่ในภาษา Aและในทางกลับกัน ภาษา A และ B สามารถเป็นเวอร์ชันที่แตกต่างกันของภาษาเดียวกันโดยที่คุณต้องระลึกไว้เสมอว่าคำสั่งที่สร้างขึ้นควรใช้งานได้ในเวอร์ชันใดเวอร์ชันหนึ่งเท่านั้น เก็บไว้ในใจว่าช่องโหว่มาตรฐานควรพิจารณาปิดและมีเพียงquines ที่เหมาะสมจะได้รับอนุญาต ขอให้โชคดีตัวละครน้อยที่สุดชนะ!

4
ลำดับ Quine ที่กำลังเติบโต
คุณจะต้องเขียนโปรแกรม 10 โปรแกรมp1 p2 ... p10ตามคุณสมบัติต่อไปนี้: pKพิมพ์pK+1สำหรับK1-9 p10 พิมพ์ p10 เมื่อต่อKโปรแกรมแรกเข้าด้วยกันโปรแกรมที่เป็นผลลัพธ์จะp1...pKพิมพ์p1...pKออกมา แต่ละโปรแกรมจะต้องมีขนาดใหญ่ในขนาดไบต์กว่าโครงการก่อนหน้านี้pKpK-1 โปรแกรมทั้งหมดจะต้องเป็นภาษาเดียวกัน ฟังก์ชั่นควินนิ่งในตัว (เช่นQในหลายภาษา) ได้รับอนุญาต คะแนนของคุณคือผลรวมของจำนวนไบต์ของ 10 โปรแกรม เนื่องจากมีเพียงสิบโปรแกรมคุณต้องทำให้รหัสของคุณสั้นที่สุด โชคดี.

2
สตริงไปยังรูปภาพ
พื้นหลังเล็กน้อย: เมื่อฉันเรียนรู้เกี่ยวกับ Brainf * ck สิ่งแรกที่ฉันทำคือเขียนแอปพลิเคชัน Java ที่จะใช้สตริงและสร้างโปรแกรมที่ปรับให้เหมาะสมเพื่อพิมพ์สตริงดังกล่าว เมื่อเร็ว ๆ นี้ฉันได้เล่นกับPietและฉันก็เล่นกับทำสิ่งเดียวกัน ฉันได้ตระหนักว่า Piet เป็นภาษาที่ค่อนข้างน่าสนใจซึ่งเพิ่มความท้าทายนี้เล็กน้อย ดังนั้นฉันต้องการที่จะนำความท้าทายออกไปให้เพื่อนของฉันที่ SE มาดูกันว่าคุณสามารถทำอะไรกับภาษานี้ ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่รับสายอักขระ ASCII ที่ไม่ว่างเปล่า ประมวลผลสตริงเพื่อให้คุณสร้างโปรแกรม Piet ที่จะพิมพ์สตริงและยุติ เอาต์พุตเป็นรูปภาพต้นฉบับแบบ piet ในรูปแบบใดก็ตามที่ดีที่สุดสำหรับคุณ เป็นที่ต้องการ PNG แต่ไม่บังคับ ฟังก์ชั่น Piet สามารถทดสอบได้ที่นี่ที่นี่ รหัส Piet จะต้องสร้างสตริงเอาต์พุตเอง ไม่อนุญาตให้ป้อนข้อมูลจากผู้ใช้ อาจใช้สีที่ได้รับการอนุมัติ Piet เท่านั้นดังที่แสดงด้านล่าง: เนื่องจากเป็นการประกวดความนิยมผู้ชนะจะถูกเลือกด้วยคะแนนเสียง ความสัมพันธ์จะถูกทำลายโดยขนาดซอร์สโค้ด คะแนนโบนัสจะมอบให้ตามดุลยพินิจของฉันโดยพิจารณาจากความคิดสร้างสรรค์ของภาพที่ส่งออก นี่คือรูปภาพหลังจากทั้งหมด

4
คำนวณตัวเลขจริง
คำนิยาม เป็นจำนวนเต็มบวกnเป็นจำนวนปฏิบัติ (OEIS ลำดับA005153 ) IFF nทุกจำนวนเต็มบวกที่มีขนาดเล็กสามารถแสดงเป็นผลรวมของตัวหารที่แตกต่างของ ตัวอย่างเช่น18เป็นจำนวนจริง: ตัวหารคือ 1, 2, 3, 6, 9, และ 18 และจำนวนเต็มบวกอื่น ๆ ที่น้อยกว่า 18 สามารถเกิดขึ้นได้ดังนี้: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

4
แปลง Fractran เป็น Brainfuck
พื้นหลัง Fractranเป็นภาษาโปรแกรมภาษาทัวริงที่สมบูรณ์แบบที่คิดค้นโดย John Conway โปรแกรม Fractran ประกอบด้วยรายการเศษส่วนที่เรียงลำดับแล้ว โปรแกรมเริ่มต้นด้วยการใช้จำนวนเต็มเดียวเป็นอินพุต การวนซ้ำแต่ละครั้งของโปรแกรมจะค้นหารายการสำหรับเศษส่วนแรกเช่นการคูณจำนวนด้วยเศษส่วนนั้นจะสร้างจำนวนเต็มอีก จากนั้นจะทำซ้ำกระบวนการนี้ด้วยหมายเลขใหม่เริ่มต้นที่จุดเริ่มต้นของรายการ เมื่อไม่มีเศษส่วนในรายการที่สามารถคูณด้วยตัวเลขโปรแกรมจะหยุดและให้หมายเลขเป็นเอาท์พุท เหตุผลที่ Fractran นั้นเป็นทัวริงสมบูรณ์เพราะมันจำลองเครื่องลงทะเบียน การแยกตัวประกอบเฉพาะของจำนวนเก็บเนื้อหาของรีจิสเตอร์ในขณะที่การหารและการคูณเป็นวิธีการบวกและลบจากรีจิสเตอร์แบบมีเงื่อนไข ฉันขอแนะนำให้อ่านบทความ Wikipedia (เชื่อมโยงกับด้านบน) ความท้าทาย งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดที่สามารถใช้โปรแกรม Fractran ที่ถูกต้องจาก STDIN เป็นเพียงอินพุตและสร้างโปรแกรม BF ที่ถูกต้องไปยัง STDOUT ที่จำลองโปรแกรม Fractran มีสองวิธีที่คุณสามารถจำลองโปรแกรม Fractran กับ BF หมายเหตุ: คำตอบของคุณไม่ใช่โปรแกรม BF คำตอบของคุณคือรหัสที่สร้างโปรแกรม BF จากโปรแกรม Fractran ใด ๆ เป้าหมายคือการรับโปรแกรม BF ให้เทียบเท่ากับโปรแกรม Fractran (ในทางเทคนิคคุณสามารถแข่งขันใน BF ได้ แต่มันคงยาก) …

13
ดัชนีการเปลี่ยนแปลงของผกผัน
บทนำ พีชคณิตเรียงลำดับของรายการที่มีองค์ประกอบnสามารถกำหนดหมายเลขได้ตั้งแต่ 0 ถึงn ! - 1. ตัวอย่างเช่น 3! = 6 พีชคณิต(1,2,3)จะ(1,2,3), (1,3,2), (2,1,3), (2,3,1), ,(3,1,2)(3,2,1) เมื่อการเรียงสับเปลี่ยนถูกนำไปใช้กับรายการองค์ประกอบของมันจะเรียงลำดับตามลำดับเดียวกับตัวเลขในการเรียงลำดับ ยกตัวอย่างเช่นการใช้การเปลี่ยนลําดับ(2,3,1)การอัตราผลตอบแทนl = (a,b,c)(l[2],l[3],l[1]) = (b,c,a) อินเวอร์สของการเปลี่ยนแปลงนั้นหมายถึงการเรียงสับเปลี่ยนที่ย้อนกลับการดำเนินการนี้คือการใช้การเปลี่ยนแปลงและจากนั้นอินเวอร์สของมัน (หรือกลับกัน) ไม่ได้ปรับเปลี่ยนอาร์เรย์ ยกตัวอย่างเช่นค่าผกผันของการ(2,3,1)เป็น(3,1,2)ตั้งแต่การใช้ที่อัตราผลตอบแทน(b,c,a)(a,b,c) นอกจากนี้การเปลี่ยนแปลงผกผันของนำไปใช้กับการเปลี่ยนแปลงของตัวเองผลตอบแทนถัวเฉลี่ยเลข 1 ... n ยกตัวอย่างเช่นการใช้(3,1,2)เพื่อให้อัตราผลตอบแทน(2,3,1)(1,2,3) ตอนนี้เรากำหนดฟังก์ชั่นrevind ( x ) เป็นดัชนีของการเปลี่ยนแปลงผกผันของการเปลี่ยนแปลงที่มีดัชนีx (นี่คือA056019หากคุณสนใจ) เนื่องจากการเรียงสับเปลี่ยนกับดัชนีฉันเพียงแก้ไขรายการสุดท้ายkของรายการiff 0 ≤ i < k !,เราสามารถเพิ่มองค์ประกอบจำนวนใด ๆ ไปยังจุดเริ่มต้นของรายการโดยไม่มีผลต่อrevind ( i ) ดังนั้นความยาวของรายการจึงไม่มีผลต่อผลลัพธ์ …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

2
ให้ตารางความจริงเอาท์พุทโปรแกรม Stackylogic ที่ตรงกับมัน
Stackylogic เป็นภาษาโปรแกรมที่ผมทำขึ้นมาในความท้าทายที่ก่อนหน้านี้: Run Stackylogic อ่านโพสต์นั้นสำหรับรายละเอียดและตัวอย่างทั้งหมด แต่นี่คือวิธีการถอดความ: Stackylogic ใช้0's และ1' s สำหรับอินพุตและเอาต์พุตเดี่ยว0 หรือ1เมื่อเสร็จสมบูรณ์ โปรแกรมประกอบด้วยบรรทัดที่มีเฉพาะอักขระ01?เช่นเดียวกับหนึ่ง<บรรทัดที่ส่วนท้ายของหนึ่งบรรทัด สายอาจจะไม่ว่างเปล่าและบรรทัดที่มี<จะต้องมีอย่างน้อยหนึ่ง0, 1หรือ ?ก่อนที่มันจะ นี่คือตัวอย่างโปรแกรมที่คำนวณNANDของสองบิต: 1 ?< 11 ? 0 ทุกบรรทัดในโปรแกรมถือว่าเป็นสแต็กโดยมีด้านล่างทางด้านซ้ายและด้านบนทางด้านขวา โดยปริยายมีสแต็กเปล่า (เช่นบรรทัดว่าง) ก่อนบรรทัดแรกในโปรแกรมและหลังบรรทัดสุดท้าย กระบวนการ<เรียกว่าเคอร์เซอร์ทำเครื่องหมายสแต็กเพื่อเริ่มต้นเมื่อโปรแกรมทำงาน การดำเนินการดังต่อไปนี้: วางอักขระบนสุดออกจากสแต็กที่เคอร์เซอร์กำลังชี้ไป หากตัวละครนั้น?ให้แจ้งผู้ใช้สำหรับ0หรือหรือ1และทำราวกับว่าเป็นตัวละคร หากอักขระอยู่0ให้เลื่อนเคอร์เซอร์ขึ้นหนึ่งกอง (ไปยังบรรทัดที่อยู่เหนือบรรทัดปัจจุบัน) หากอักขระอยู่1ให้เลื่อนเคอร์เซอร์หนึ่งสแต็กลง (ไปยังบรรทัดด้านล่างบรรทัดปัจจุบัน) หากกองเคอร์เซอร์เลื่อนไปที่ว่างเปล่าเอาท์พุทค่าสุดท้ายที่โผล่ออกมาจากกอง (เสมอ0หรือหรือ1) และจบโปรแกรม มิฉะนั้นหากเคอร์เซอร์เลื่อนไปที่ไม่ว่างเปล่าให้กลับไปที่ขั้นตอนที่ 1 และทำซ้ำกระบวนการ สิ่งสำคัญที่ต้องตระหนักสำหรับความท้าทายนี้คือการที่ทุกโปรแกรม Stackylogic ถือเอาตารางความจริง จำนวนบูลีนที่กำหนดค่าไว้ล่วงหน้าบางรายการเป็นอินพุตและบูลีนหนึ่งรายการจะถูกกำหนดไว้อย่างแน่นอน ดังนั้นงานของคุณคือสร้างโปรแกรม Stackylogic ที่สร้างความพึงพอใจหรือจำลองสถานการณ์เช่นมีเอาต์พุตเหมือนกับตารางความจริงที่กำหนด แต่ไม่ชัดเจนว่า Stackylogic สามารถจำลองตารางความจริงใด …

12
การแบ่งปันความลับของ Shamir
ป.ร. ให้ไว้n(จำนวนของผู้เล่น) t(ค่าเกณฑ์) และs(ความลับ) เอาท์พุทnลับที่สร้างขึ้นโดยอัลกอริทึมที่ใช้ร่วมกันความลับของมิร์ อัลกอริทึม สำหรับจุดประสงค์ของการท้าทายนี้การคำนวณจะกระทำในGF (251) (เขตข้อมูลขนาด จำกัด251หรือที่รู้จักกันในชื่อจำนวนเต็มmod 251 ) ตามปกติแล้วฟิลด์จะถูกเลือกเพื่อให้ขนาดของมันใหญ่กว่าnมาก เพื่อลดความท้าทายขนาดของสนามจะคงที่ 251ได้รับเลือกเนื่องจากเป็นจำนวนที่ใหญ่ที่สุดที่สามารถแทนได้โดยเลขจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ สร้างt-1จำนวนเต็มสุ่มใน (รวม) [0, 250]ช่วง ป้ายเหล่านี้1ผ่านT-1 สร้างt-1พหุนามระดับปริญญาที่ใช้sเป็นค่าคงที่และจำนวนเต็มแบบสุ่มจากขั้นตอนที่ 1 เป็นค่าสัมประสิทธิ์ของพลังของx: f (x) = s + x * a 1 + x 2 * a 2 + ... + x t- 1 * a T-1 เอาท์พุท(f(z) …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
ค้นหารูปแบบในเงื่อนไข
ในความท้าทายนี้งานของคุณคือการหาวัสดุพิมพ์ที่มีโครงสร้างที่กำหนด อินพุต ข้อมูลของคุณจะเป็นสองสายที่เป็นตัวเลขไม่ว่างเปล่าเป็นรูปแบบ pและข้อความ tแนวคิดก็คืออักขระแต่ละตัวจะpแทนซับสตริงที่ไม่ว่างเปล่าที่ต่อเนื่องกันtซึ่งเกิดขึ้นถัดจากกันและกันและpแสดงถึงการต่อกันของมัน อักขระที่เหมือนกันสอดคล้องกับสตริงย่อยที่เหมือนกัน ตัวอย่างเช่นรูปแบบaaหมายถึงสแควร์ที่ไม่ว่างเปล่า (สตริงที่ได้จากการต่อสตริงที่สั้นกว่าเข้ากับตัวเอง) ดังนั้นรูปแบบaaสามารถจับคู่สตริงย่อยbyebyeได้ด้วยการaจับคู่แต่ละbyeครั้ง เอาท์พุต หากข้อความที่tมีสตริงย่อยที่pการแข่งขันแล้วส่งออกของคุณจะเป็นสตริงย่อยที่มีทวิภาคแทรกระหว่างสตริงที่ตรงกับตัวละคร: pตัวอย่างเช่นถ้าเรามีt = byebyenowและp = aaก็bye:byeเป็นผลลัพธ์ที่ยอมรับได้ อาจมีหลายตัวเลือกสำหรับสตริงย่อยที่ตรงกัน แต่คุณจะส่งออกหนึ่งในพวกเขาเท่านั้น ถ้าtไม่ได้มี substring :(จับคู่ของคุณออกจะเป็นหน้าเศร้า กฎและคำชี้แจง ตัวละครที่แตกต่างกันpสามารถสอดคล้องกับสตริงเหมือนกันเพื่อให้สามารถจับคู่สตริงp = aba AAAโปรดทราบว่าตัวละครจะต้องสอดคล้องกับสตริงที่ไม่ว่างเปล่า; โดยเฉพาะอย่างยิ่งถ้าpมีความยาวมากกว่าการส่งออกจะต้องมีt:( คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและคุณยังสามารถเปลี่ยนลำดับของอินพุตทั้งสองได้ จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ pattern text -> outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

13
สร้างคอมไพเลอร์ FizzBuzz
ยินดีต้อนรับสู่โลกของคอมไพเลอร์กอล์ฟ งานของคุณคือการเขียนโปรแกรมที่สร้างโปรแกรมอื่นเพื่อเล่นตัวแปรของ FizzBuzz บนสเปค คอมไพเลอร์ของคุณ เขียนคอมไพเลอร์ที่สร้างตัวแปรของโปรแกรม FizzBuzz ให้เป็นข้อมูลจำเพาะ ข้อมูลจำเพาะของชุดตัวเลือกนี้จะแสดงในรูปแบบของอาร์เรย์ของคู่จำนวนเต็ม / สตริง ข้อมูลที่ป้อนอาจอยู่ในรูปแบบใดก็ได้ที่สะดวกกับภาษาของคุณ (ตัวอย่างของฉันใช้ n: xxxx แต่นี่ใช้เพื่อเป็นตัวอย่างเท่านั้น) แต่ละอินพุตจำนวนเต็มสามารถใช้ได้หนึ่งครั้งต่อการเรียกใช้คอมไพเลอร์ของคุณ จำนวนเต็มของแต่ละคู่จะมีค่าอย่างน้อยหนึ่งคู่ สตริงของแต่ละคู่จะประกอบด้วยตัวอักษร ASCII เพียงสี่ตัวเท่านั้น ผลลัพธ์จะต้องเป็นโปรแกรมสมบูรณ์แบบเดียวที่เป็นไปตามกฎด้านล่าง ผลลัพธ์อาจอยู่ในรูปแบบที่สะดวกใด ๆ ตราบใดที่มันเป็นโปรแกรมต้นฉบับเดิม (ดังนั้นจึงไม่มีการแสดงออกแลมบ์ดาที่ส่งคืน) พฤติกรรมไม่ได้ถูกกำหนดไว้สำหรับอินพุตที่ไม่เป็นไปตามกฎข้างต้น โปรแกรม FizzBuzz ที่คุณสร้างขึ้น โปรแกรมที่สร้างขึ้นโดยคอมไพเลอร์ของคุณจะใช้เป็นจำนวนเต็มเดียวnเป็น input มันจะส่งออกลำดับของตัวเลขเริ่มต้นจากหนึ่งถึงและรวมถึงnแทนที่ตัวเลขด้วยสตริง FizzBuzz เมื่อจำเป็น โปรแกรมที่สร้างขึ้นต้องเป็นภาษาเดียวกันกับคอมไพเลอร์ อินพุตnอาจอยู่ในรูปแบบใดก็ได้ที่สะดวกกับภาษาของคุณ nจะมีค่าอย่างน้อยหนึ่งค่า จำนวนที่เป็นจำนวนเต็มอย่างน้อยหนึ่งในจำนวนเต็มเข้ากับคอมไพเลอร์จะต้องถูกแทนที่ด้วยสตริงทั้งหมดที่จับคู่กับจำนวนเต็มเหล่านั้นรวมเข้าด้วยกัน จำนวนที่จะไม่ถูกแทนที่ด้วยสตริง FizzBuzz จะต้องส่งออกใน ASCII ทศนิยม ตัวอย่างเช่น; > GenFizzBuzz 3:Fizz 5:Buzz > …

2
รวบรวม Regexes
ในภารกิจนี้คุณต้องเขียนโปรแกรมที่อ่านนิพจน์ปกติและสร้างโปรแกรมอื่นที่แสดงว่านิพจน์ปกตินั้นยอมรับอินพุตหรือไม่ ผลลัพธ์จะต้องเป็นโปรแกรมที่เขียนด้วยภาษาเดียวกันกับที่คุณส่ง อินพุต อินพุตคือการแสดงออกปกติRจับคู่ ABNF ดังต่อไปนี้ (กฎการผลิตเริ่มต้นREGEX): REGEX = *( STAR / GROUP / LITERAL / ALTERNATIVE ) STAR = REGEX '*' GROUP = '(' REGEX ')' LITERAL = ALPHA / DIGIT ALTERNATIVE = REGEX '|' REGEX หากอินพุตไม่ตรงกับไวยากรณ์นี้พฤติกรรมของโปรแกรมของคุณจะไม่ได้กำหนด การตีความ ป้อนข้อมูลเป็นนิพจน์ปกติโดยที่*Kleene-star (หมายถึงอาร์กิวเมนต์ซ้ายซ้ำแล้วซ้ำอีกเป็นศูนย์หรือมากกว่านั้น ) |เป็นอีกทางเลือกหนึ่ง(และ)จัดกลุ่มและไม่มีตัวดำเนินการใด ๆ ที่ต่อกัน การจัดกลุ่มจะมีความสำคัญเหนือกว่าดาวฤกษ์จะมีความสำคัญเหนือกว่าการต่อเรียงและการเรียงต่อกันจะมีความสำคัญมากกว่าทางเลือก สตริงมีการกล่าวถึงว่าเป็นที่ยอมรับถ้า regex ตรงกับสตริงทั้งหมด เอาท์พุต …

7
เขียนช่วงเวลาที่ยาวที่สุดวนซ้ำควินที่ล้อมรอบด้วย 500 ไบต์
งานของคุณคือการสร้างช่วงเวลาที่ยาวที่สุดวนซ้ำซึ่งความยาวของแต่ละโปรแกรมในลำดับนั้นล้อมรอบด้วย 500 ไบต์ นั่นคือถ้าคุณทำซ้ำขั้นตอนต่อไปนี้: เริ่มด้วยโปรแกรมเริ่มต้นของคุณ เรียกใช้โปรแกรมปัจจุบัน กลับไปที่ขั้นตอนที่ 2 ในที่สุดคุณจะกลับไปที่โปรแกรมดั้งเดิมของคุณ จำนวนโปรแกรมในรอบคือคะแนนของคุณซึ่งคุณพยายามเพิ่ม ไม่มีโปรแกรมใดที่สามารถเพิ่มข้อผิดพลาดได้ แต่ละโปรแกรมจะต้องทำงานในลักษณะเดียวกันเช่นกัน (เช่นไม่มีเวอร์ชั่นที่แตกต่างกันการนำไปใช้งานตัวเลือกคอมไพเลอร์แพลตฟอร์ม ฯลฯ ... ) (แก้ไข: ใช่สถานะภายนอกใด ๆ เช่นที่ของเครื่องกำเนิดเลขสุ่มหลอกรวมอยู่ในที่สุด คำสั่งสถานะภายนอกจะต้อง "รีเซ็ต" หลังจากการเรียกใช้แต่ละครั้งหากคุณใช้ตัวเลขสุ่มจริงจะถือว่าเป็นกรณีที่เลวร้ายที่สุด) สิ่งที่แยกความท้าทายนี้ออกจากรอบระยะเวลาที่ยาวที่สุดวนรอบควิน (นอกเหนือจาก 100 vs 500) คือทุกโปรแกรมในรอบนั้นจะต้องมี 500 ไบต์หรือน้อยกว่า ซึ่งหมายความว่ารอบที่ยาวที่สุดที่เป็นไปได้คือ (256 ^ 501 - 1) / 255 หรือน้อยกว่า แน่นอนว่าเป็นจำนวนมาก แต่ไม่มากในแง่ของจำนวนรหัสที่ใช้ในการคำนวณ ดังนั้นความท้าทายจึงเกี่ยวกับการใช้ความเป็นไปได้ (256 ^ 501 - 1) / 255 …

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