คำถามติดแท็ก random

งานที่เกี่ยวข้องกับตัวเลขสุ่มและ / หรือเอาท์พุท

1
คำสั่งลูกสุนัข
puppyยูทิลิตี้ต้องใช้ชื่อไฟล์เป็น input และไม่ว่าสิ่งที่คุณคาดว่าจะได้ลูกสุนัขที่จะทำมัน shreds มัน! วิธีฉีก ฉีกหน้าด้วยฟันของคุณแยกไฟล์อินพุตในบรรทัดใหม่ ฉีกขึ้นแต่ละหน้ามีอุ้งเท้าของคุณสำหรับแต่ละบรรทัด (ไม่รวมเลื่อนบรรทัด), การเลือกสุ่มจำนวนเต็มดังกล่าวว่าn 2 <= n <= # of characters in the lineแบ่งบรรทัดออกเป็นnสตริงย่อยที่ไม่ทับซ้อนกันซึ่งมีความยาวแบบสุ่ม กระจายส่วนย่อยของพื้นกระจายเอาต์พุตย่อยแต่ละบรรทัดของแต่ละบรรทัดไปยังชื่อไฟล์สุ่มที่ไม่ซ้ำกัน ( [a-zA-Z0-9]เฉพาะส่วนขยายที่สอดคล้องกันใด ๆ รวมถึงไม่มีความยาว1 <= n <= 12) ในไดเรกทอรีปัจจุบัน เขียนทับไฟล์ที่มีอยู่แล้วภายในไดเรกทอรีปัจจุบัน (รวมถึงไฟล์อินพุตหากอยู่ในไดเรกทอรีปัจจุบัน) ยอมรับได้ตราบใดที่ไฟล์นั้นไม่รบกวนการส่งข้อมูลของคุณ ชี้แจง จะไม่มีการป้อนข้อมูลที่เป็นไปได้ที่จะใช้ชื่อไฟล์ที่เป็นไปได้ทั้งหมด ไฟล์จะประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น (ปกติ 32-127) และ linefeeds และจะใช้ปลายบรรทัดสไตล์ UNIX / Linux (LF ไม่ใช่ CRLF สไตล์ …

30
Death By Shock Probe: นั่นเป็นลูกเต๋าจำนวนมาก
ในคอมมิคDarths & Droids , Pete ผู้เล่น R2-D2 ในแคมเปญสวมบทบาทสวมบทบาทที่การ์ตูนมีพื้นฐานมาจากการอ้างสิทธิ์ครั้งเดียว (คำเตือน: สปอยเลอร์ที่มีศักยภาพในการ์ตูนที่เชื่อมโยง) ซึ่งกับ Orb แห่ง Phanastacoria โพรบช็อตตอนนี้เขาสามารถกำจัด 1048576d4มหันต์ของความเสียหาย (จีเอ็มไม่ได้ยืนยันหรือปฏิเสธสิ่งนี้) เนื่องจากมันควรจะมีเหตุผลที่ชัดเจนว่าแทบจะไม่มีใครมีความอดทนที่จะม้วนลูกเต๋าหลาย ๆ อันให้เขียนโปรแกรมคอมพิวเตอร์เพื่อทำเพื่อเขา รูปแบบ. รายการจะถูกจัดอันดับตามขนาดของโปรแกรม (โปรแกรมที่สั้นที่สุดตามจำนวนไบต์ชนะ) ทั้งโดยรวมและต่อภาษาโดยมีความสัมพันธ์แบบแบ่งเวลา คำตอบอาจเป็นได้ทั้งโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นการกำหนด คะแนนต่อภาษา Pyth Maltysen - 8 ไบต์ * Jakube - 10 ไบต์ APL Alex A - 10 ไบต์ CJam เครื่องมือเพิ่มประสิทธิภาพ - 11 ไบต์ J --ıʇǝɥʇuʎs - …
20 code-golf  random 

13
ทอยลูกเต๋าและดันเจี้ยนมังกร
ฉันต้องการเล่น Dungeons and Dragons แต่ฉันไม่มีลูกเต๋า! ความท้าทายของคุณคือหมุนลูกเต๋า D&D ข้อมูลจำเพาะรูปแบบอินพุตในรูปแบบBackus-Naurคือ: <valid-input> ::= <opt-integer> "d" <integer> <opt-modifier> <opt-integer> ::= | <integer> <opt-modifier> ::= | "+" <integer> <integer> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | <integer> <integer> จำนวนเต็มเพิ่มเติมก่อนที่dจะเป็นจำนวนของลูกเต๋าที่จะม้วน; อย่างน้อยจะต้องเป็น1ค่าเริ่มต้น1หากไม่ได้ระบุไว้ จำนวนเต็มที่ต้องการทันทีหลังจากdคือจำนวนของแต่ละด้านที่มี …
20 code-golf  random 

27
เขียนล่ามสำหรับ *
งานง่าย เขียนล่ามภาษาที่* นี่คือลิงก์ที่ใหญ่กว่าไปยังวิกิ มีโปรแกรม * ที่ใช้ได้เพียงสามโปรแกรมเท่านั้น: * พิมพ์ "Hello World" * พิมพ์ตัวเลขสุ่มระหว่าง 0 ถึง 2,147,483,647 *+* ทำงานตลอดไป กรณีที่สามจะต้องเป็นวงไม่สิ้นสุดตามข้อกำหนดใน คำถามนี้ การป้อนข้อมูล: อินพุตสามารถใช้วิธีการอินพุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา มันจะเป็นหนึ่งในโปรแกรมข้างต้น เอาท์พุท: กรณีแรกควรพิมพ์อย่างแน่นอนHello Worldโดยมีหรือไม่มีตัวแบ่งบรรทัดต่อท้าย สำหรับกรณีที่สองหากจำนวนเต็มสูงสุดของภาษาของคุณน้อยกว่า 2,147,483,647 ให้ใช้จำนวนเต็มสูงสุดของภาษาของคุณ เคสแรกและเคสที่สองสามารถพิมพ์ไปยังเอาต์พุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา กรณีที่สามไม่ควรให้ผลลัพธ์ใด ๆ เกณฑ์การให้คะแนน: เช่นนี้คือcode-golfคำตอบที่สั้นที่สุดเป็นไบต์ชนะ
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

7
Rolling Quine Dice
สร้างโปรแกรมที่ให้ผลลัพธ์เอง อย่างไรก็ตามหากซอร์สโค้ดซ้ำ n ครั้ง(หมายถึงการเชื่อมต่อสำเนาของซอร์สโค้ดกับจุดสิ้นสุด n-1 ครั้ง)ดังนั้นจึงควรมีความน่าจะเป็น 1 / n ในการแสดงผลซอร์สโค้ดต้นฉบับความน่าจะเป็น 1 / n ของเอาต์พุต ซอร์สโค้ดซ้ำสองครั้งความน่าจะเป็น 1 / n ของการส่งออกซอร์สโค้ดซ้ำสามครั้ง ... และความน่าจะเป็น 1 / n ในการส่งออกซอร์สโค้ด n ครั้ง ตัวอย่างเช่นถ้าโปรแกรมของคุณแล้วมันควรเอาท์พุทว่าfoobar foobarแต่ถ้าคุณทำงานfoobarfoobarfoobarfoobarแล้วควรจะมีโอกาส¼แต่ละ outputting foobar, foobarfoobar, และfoobarfoobarfoobarfoobarfoobarfoobarfoobar การกระจายของแต่ละเอาต์พุตที่เป็นไปได้ควรเท่ากัน นอกเหนือจากวิธีการใช้ I / O มาตรฐานและช่องโหว่มาตรฐานห้ามใช้กฎควินินมาตรฐาน (ไม่สามารถเข้าถึงแหล่งที่มาของมันเอง ฯลฯ ) นี่คือรหัสกอล์ฟเพื่อให้ได้คำตอบที่สั้นที่สุดในหน่วยไบต์

30
สุ่มเลือกจากอาร์เรย์
ความท้าทายนี้ค่อนข้างง่าย: คุณจะได้รับอาร์เรย์จำนวนเต็มบวก (ไม่รวม 0) และต้องเลือกองค์ประกอบแบบสุ่มจากอาร์เรย์นี้ แต่นี่คือความบิดเบี้ยว: ความน่าจะเป็นของการเลือกองค์ประกอบขึ้นอยู่กับค่าของจำนวนเต็มซึ่งหมายความว่าเมื่อจำนวนเต็มที่โตขึ้นความน่าจะเป็นของการเลือกองค์ประกอบก็เป็นเช่นกัน! ตัวอย่าง [4, 1, 5]คุณจะได้รับอาร์เรย์ ความน่าจะเป็นของการเลือก 4 เท่ากับ4 หารด้วยผลรวมขององค์ประกอบทั้งหมดในอาร์เรย์ในกรณี4 / ( 4 + 1 + 5 ) = 4 / 10 =40%นี้ ความน่าจะเป็นของการเลือก 1 หรือ1 / 1010% อินพุต อาร์เรย์ของจำนวนเต็มบวก เอาท์พุต stdoutกลับจำนวนเต็มเลือกถ้าใช้วิธีการหรือโดยตรงพิมพ์ไป กฎระเบียบ นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์ในภาษาใด ๆ ที่ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม

8
ย้อนกลับเรียงแทรก
วัตถุประสงค์ สร้างรายการที่มีสัญญาณรบกวนเดิมจากการเคลื่อนไหวที่มีการจัดเรียงการแทรกเพื่อจัดเรียง รายการต้นฉบับจะมีตัวเลขทั้งหมดตั้งแต่0ถึงN-1(รวม) โดยที่Nขนาดของอินพุต อินพุต รายการที่มีการเคลื่อนไหวที่จำเป็นเพื่อเรียงลำดับรายการ แต่ละค่าแสดงถึงจำนวนช่องที่แทนที่ด้วยหมายเลขเดิม (สัญญาณรบกวน) ที่จะอยู่ในตำแหน่งที่ถูกต้องโปรดทราบว่ากระบวนการนี้มาจากด้านซ้ายไปทางขวา ค่าที่ตำแหน่ง (ดัชนี 0) iในรายการอินพุตจะอยู่ระหว่าง0และiรวม คุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องพฤติกรรมใด ๆ เป็นที่ยอมรับในกรณีนี้ (เกิดความผิดพลาดวนซ้ำไม่สิ้นสุด ฯลฯ ) เอาท์พุต รายการที่มีสัญญาณรบกวน ทีละขั้นตอนในการสร้างการเคลื่อนไหว Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

22
สร้างพีระมิดตัวอักษร
วันนี้เรากำลังจะสร้างพีระมิดจากตัวอักษร! นี่คือตัวอย่างพีระมิดสำหรับอักษร 5 ตัวแรก: เขียนตัวอักษร 5 ตัวแรกโดยมีช่องว่างคั่นระหว่างจากน้อยไปมากและจากมากไปน้อย A B C D E D C B A ทำสิ่งเดียวกันสำหรับตัวอักษรสี่ตัวแรกในบรรทัดด้านบน แต่มีช่องว่างนำหน้าสองช่อง: A B C D C B A A B C D E D C B A ทำซ้ำขั้นตอนเดียวกันจนกระทั่งบรรทัดสุดท้ายเป็นเพียง 'A' A A B A A B C B A A B C D C …

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

15
สุ่มกอล์ฟประจำวัน # 4: The Bertrand Paradox
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลเกี่ยวกับซีรี่ส์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก แม้ว่าฉันจะมีไอเดียมากมายสำหรับชุด แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง Hole 4: The Bertrand Paradox เบอร์ทรานด์ขัดแย้งเป็นปัญหาที่น่าสนใจซึ่งแสดงให้เห็นว่าวิธีการที่แตกต่างกันสำหรับการเลือกคอร์ดสุ่มในวงกลมสามารถให้ผลผลิตแตกต่างกันของการกระจายคอร์ดกึ่งกลางและความยาวของพวกเขา ในความท้าทายนี้คุณควรจะสร้างคอร์ดสุ่มของวงกลมหน่วยโดยใช้วิธี "ขวา" คือหนึ่งที่สร้างการกระจายของคอร์ดที่ไม่เปลี่ยนแปลงภายใต้การปรับและการแปล ในบทความ Wikipedia ที่เชื่อมโยง "วิธีที่ 2" เป็นวิธีการดังกล่าว นี่คือกฎที่แน่นอน: คุณควรใช้จำนวนเต็มบวกหนึ่งตัวNซึ่งระบุจำนวนคอร์ดที่ควรส่งคืน เอาต์พุตควรเป็นรายการของNคอร์ดแต่ละอันระบุเป็นสองจุดบนวงกลมหน่วยกำหนดโดยมุมขั้วของพวกเขาเป็นเรเดียน รหัสของคุณควรจะสามารถที่จะกลับมาอย่างน้อย 2 20ค่าที่แตกต่างกันสำหรับแต่ละสองมุม หาก RNG ที่มีของคุณมีช่วงที่มีขนาดเล็กคุณต้องแรกสร้าง RNG มีช่วงขนาดใหญ่พอที่ด้านบนของตัวเครื่องในหนึ่งหรือคุณต้องใช้ของคุณเองRNG เหมาะสม หน้านี้อาจมีประโยชน์สำหรับสิ่งนั้น การกระจายคอร์ดจะต้องแยกไม่ออกจากคอร์ดที่ผลิตโดย "วิธีที่ 2" ในบทความ Wikipedia ที่เชื่อมโยง หากคุณใช้อัลกอริทึมที่แตกต่างในการเลือกคอร์ดโปรดระบุหลักฐานความถูกต้อง ไม่ว่าอัลกอริทึมใดที่คุณเลือกที่จะใช้มันจะต้องสามารถสร้างคอร์ดที่ถูกต้องใด ๆ …

13
เลเยอร์ Sierpinski
เริ่มต้นด้วย/\คุณสามารถสร้างสามเหลี่ยมเช่นเดียวกับรูปแบบSierpinskiโดยการเพิ่มบรรทัดด้านล่างที่ ... กิ่งก้านที่หลวม/หรือ\แยกอีกเป็นสองกิ่ง: /\. การชนกันของกิ่งไม้\/จะตายโดยไม่มีสิ่งใด (ยกเว้นที่ว่าง) ภายใต้กิ่งไม้ ทำซ้ำกฎเหล่านี้ให้ผล /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... ( แรงบันดาลใจจาก ViHart ) เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N และพิมพ์บรรทัด N แรกของรูปแบบนี้ไปยัง stdout โดยไม่มีช่องว่างนำหน้าหรือต่อท้ายเกินกว่าที่จำเป็น ตัวอย่างเช่นถ้าอินพุตเป็น1เอาต์พุตต้องเป็น /\ หากอินพุตเป็น2เอาต์พุตจะต้องเป็น /\ /\/\ หากอินพุตเป็น8เอาต์พุตจะต้องเป็น /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ และอื่น …

11
สุ่มกอล์ฟประจำวัน # 3: ฉากกั้นระหว่างฉาก
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลเกี่ยวกับซีรี่ส์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก แม้ว่าฉันจะมีไอเดียมากมายสำหรับชุด แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง Hole 3: Integer Partitions ใช้เวลาในการเพิ่มความยากลำบากเล็กน้อย พาร์ทิชันของจำนวนเต็มบวกnถูกกำหนดให้เป็น MultiSet nของจำนวนเต็มบวกซึ่งรวมไป ตัวอย่างเช่นถ้าn = 5พาร์ติชันต่อไปนี้มีอยู่: {1,1,1,1,1} {2,1,1,1} {2,2,1} {3,1,1} {3,2} {4,1} {5} หมายเหตุว่าเหล่านี้เป็นมัลติจึงมีคำสั่งไม่ให้พวกเขา{3,1,1}, {1,3,1}และ{1,1,3}ได้รับการพิจารณาทั้งหมดเหมือนกัน งานของคุณจะได้รับการสร้างพาร์ทิชันแบบสุ่มของn nนี่คือกฎรายละเอียด: การกระจายตัวของพาร์ทิชันที่ผลิตจะต้องมีเครื่องแบบ นั่นคือในตัวอย่างข้างต้นแต่ละพาร์ติชันควรส่งคืนด้วยความน่าจะเป็น 1/7 แน่นอนเนื่องจากข้อ จำกัด ทางเทคนิคของ PRNGs ความสม่ำเสมอที่สมบูรณ์แบบจะเป็นไปไม่ได้ เพื่อวัตถุประสงค์ในการประเมินความสม่ำเสมอของการส่งของคุณการดำเนินการต่อไปนี้จะถือว่าเป็นการให้การแจกแจงที่สมบูรณ์แบบ: การรับตัวเลขจาก PRNG (มากกว่าช่วงใด ๆ ) ซึ่งได้รับการบันทึกไว้ว่าเป็นชุด …

7
การจัดเรียงแบบสุ่มคนตาบอด
นี่เป็นรูปแบบที่พบได้ทั่วไปสำหรับการเรียงลำดับอัลกอริทึม: def sort(l): while not is_sorted(l): choose indices i, j assert i < j if l[i] > l[j]: l[i], l[j] = l[j], l[i] ขั้นตอนวิธีการเหล่านี้ทำงานได้ดีเพราะดัชนีiและได้รับการแต่งตั้งอย่างรอบคอบบนพื้นฐานของรัฐของรายการjl อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าเรามองไม่เห็นlและต้องเลือกสุ่มสี่สุ่มห้า เราจะเรียงลำดับรายการได้เร็วแค่ไหน? lความท้าทายของคุณคือการเขียนฟังก์ชั่นที่ผลคู่แบบสุ่มของดัชนีได้รับเพียงความยาวของ โดยเฉพาะคุณต้องเอาท์พุทสองดัชนีด้วยi, j 0 <= i < j < len(l)ฟังก์ชั่นของคุณควรทำงานกับความยาวของรายการใด ๆ แต่จะได้คะแนนในรายการความยาว 100 คะแนนของคุณคือจำนวนตัวเลือกดัชนีเฉลี่ยที่จำเป็นในการเรียงลำดับรายการสับแบบสุ่มอย่างสม่ำเสมอตามรูปแบบด้านบนซึ่งดัชนีจะถูกเลือกตามฟังก์ชั่นของคุณ ฉันจะให้คะแนนการส่งโดยใช้จำนวนตัวเลือกดัชนีเฉลี่ยมากกว่า 1,000 ครั้งในรายการที่มีการสับแบบสุ่มที่มีความยาว 100 โดยไม่มีการป้อนซ้ำ ฉันขอสงวนสิทธิ์ในการเรียกใช้การทดลองน้อยลงหากการส่งนั้นชัดเจนไม่ใช่การแข่งขันหรือไม่ยุติลงและฉันจะทำการทดลองเพิ่มเติมเพื่อแยกความแตกต่างของคู่แข่งชั้นนำเพื่อค้นหาผู้ชนะคนเดียว หากการส่งยอดนิยมหลายรายการยังคงอยู่ภายในระยะขอบของข้อผิดพลาดที่ขีด จำกัด ของทรัพยากรการคำนวณของฉันฉันจะประกาศผู้ชนะการส่งก่อนหน้านี้จนกว่าจะสามารถนำทรัพยากรการคำนวณอื่น ๆ …

22
ssTTsSTtRrriinInnnnNNNIiinngg
ท้าทาย สำหรับอักขระแต่ละตัวของสตริงยกเว้นตัวสุดท้ายให้ทำดังนี้ เอาท์พุทตัวละครปัจจุบัน ตามด้วยการสุ่มเอาท์พุทจากรายการต่อไปนี้เป็นจำนวนสุ่มครั้งระหว่าง 1 - 5 (รวม): ตัวละครปัจจุบัน อักขระตัวถัดไปของสตริง เวอร์ชัน switchcase ของตัวละครที่คุณเปิดอยู่ รุ่น switchcase ของตัวละครต่อไปของสตริง กรณีทดสอบ String -> SSSTSStrTrIiinIIngn , . , . , . Hello world! -> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D Programming Puzzles and Code Golf -> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS …

20
โคมไฟลาวาแบบง่ายๆ
บทนำ: ฉันคิดว่าทุกคนรู้ว่าโคมไฟลาวาคืออะไร แต่ในกรณีที่พวกเขาไม่ได้: (แหล่งรูปภาพ) โดยพื้นฐานแล้วพวกมันเป็นหลอดแก้วที่บรรจุขี้ผึ้งในของเหลวโปร่งแสง ส่วนด้านล่างถูกทำให้ร้อนเมื่อเปิดหลอดไฟทำให้เกิดการเปลี่ยนแปลงของความหนาแน่นและทำให้ขี้ผึ้งลอยขึ้นไปด้านบน เมื่อมันเย็นตัวลงมันจะตกลงมาอีกครั้งทำให้เกิดผลกระทบที่เราเห็นด้านบน โดยปกติจะใช้เวลาประมาณ 45-60 นาทีสำหรับฐานของหลอดไฟที่จะเพิ่มอุณหภูมิสูงพอที่จะเปลี่ยนขี้ผึ้งให้เป็นขี้ผึ้งเหลว (หากหลอดไฟตั้งอยู่ในพื้นที่ที่อุณหภูมิห้อง) ข้อมูลเพิ่มเติมเกี่ยวกับ Wikipedia ซึ่งใช้เป็นแหล่งข้อมูลสำหรับข้อความบางส่วนด้านบน ท้าทาย: ระบุจำนวนเต็มบวกที่nระบุจำนวนนาทีที่ผ่านไปนับตั้งแต่เราเปิดหลอด Lava แล้วส่งออกสถานะสุ่มของหลอด Lava ตามจำนวนเต็มห้าระดับ สำหรับความท้าทายนี้เราจะบอกว่าโคมไฟลาวามีขี้ผึ้งทั้งหมด 1,000 หน่วยและเรามีห้าระดับที่ขี้ผึ้งสามารถอยู่ได้ 1) หากnต่ำกว่า 45 โคมไฟลาวายังคงร้อนขึ้นดังนั้นเอาต์พุตจะเป็นสี่บรรทัดว่าง1000ที่ด้านล่าง: 1000 2) หากnอยู่ในช่วง[45, 60)ที่หลอดลาวามีอุณหภูมิสูงขึ้นพอที่ขี้ผึ้งจะเคลื่อนที่ไปรอบ ๆ แต่ยังไม่สูงมาก ขี้ผึ้งสามารถเข้าถึงและรวมถึงระดับที่สาม 3) ถ้าnมี60หรือสูงกว่าขี้ผึ้งสามารถอยู่ในระดับใดก็ได้ในห้าระดับ ดังนั้นเมื่อได้รับจำนวนเต็มบวกnเป็นอินพุตเราจะแสดงสถานะสุ่มโดยคำนึงถึงกฎสามข้อข้างต้น นี่คือตัวอย่างผลลัพธ์: ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 45: 523 106 371 913 87 ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 60: 73 …

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