การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

11
จำลองเกม Craps
Craps เป็นเกมลูกเต๋าที่เล่นง่ายในคาสิโน แม้ว่าคุณจะไม่ได้เป็นนักพนัน (ซึ่งฉันไม่ใช่) ก็ยังเป็นเกมที่น่าสนใจพอสมควร นี่คือกฎ: ในช่วงเริ่มเกม Craps มีสิ่งที่เรียกว่ารอบออกมา ผู้เล่นหมุนสอง d6s (หกเหลี่ยม) และเพิ่มสองม้วน หากผลเป็น 7 หรือ 11 คนที่ชนะอัตโนมัติ (ซึ่งเป็นที่รู้จักกันเป็นธรรมชาติ ) หากผลเป็น 2, 3 หรือ 12 คนที่สูญเสียอัตโนมัติ (ซึ่งเป็นที่รู้จักกันcrapping ออก ) มิฉะนั้นผลลัพธ์จะถูกตั้งค่าเป็นจุดสำหรับรอบจุด หลังจากนี้รอบจุดเริ่มต้น ในช่วงรอบคะแนนผู้เล่นจะต้องหมุนอย่างต่อเนื่อง 2 d6s จนกว่าผู้เล่นจะได้คะแนน 7 หรือจุดจากรอบก่อนหน้า หากบุคคลนั้นหมุนได้ 7 พวกเขาแพ้ หากพวกเขากลิ้งจุดของพวกเขาพวกเขาชนะ ท้าทาย ใช้โปรแกรมอย่างง่ายที่จำลองเกมการเล่นลูกเต๋าชนิดหนึ่ง หากบุคคลนั้นกลิ้งสิ่งที่เป็นธรรมชาติหรืออึออกมาในระหว่างรอบที่จะออกมาโปรแกรมควรจะส่งออก "Natural:" หรือ "Crapping out:" ตามด้วย die-roll …
18 code-golf  game  random 

4
ลำดับเลขคณิตของ Crazy บรรณารักษ์
บรรณารักษ์จับคุณโกงงานของคุณโดยใช้อัลกอริทึมการเรียงลำดับของคุณดังนั้นตอนนี้คุณกำลังถูกลงโทษ คุณได้รับคำสั่งให้สร้างรหัสบางส่วนเพื่อให้บรรณารักษ์สามารถสร้างความประทับใจต่อความรักที่ไม่สมหวังคือครูคณิตศาสตร์ ดังนั้นว่าอะไร "หน้าที่อื่นตามที่ได้รับมอบหมาย" หมายถึง ... ทุกคนคุ้นเคยกับลำดับหมายเลขธรรมชาติในฐาน 10 ที่เรียกว่าN : 0, 1, 2, 3, 4, 5, 6, ... จากนั้นเราสามารถสร้างลำดับหมายเลขเฉพาะได้เรียกมันว่าPว่าองค์ประกอบทุกตัวในPมีตัวหารสองตัวในNคือ1ตัวของมันเอง ลำดับนี้คือ: 2, 3, 5, 7, 11, 13, ... ตกลงกิจวัตรที่น่ารักจนถึงตอนนี้ บรรณารักษ์คิดว่าฟังก์ชั่นที่ดีF (x, y)ที่ใช้ตัวเลขxจากNโดยมีเงื่อนไข0 <= x <= 9และตัวเลขyจากNและแทรกxลงในyการขยายทศนิยมในทุกตำแหน่ง (เช่นการเตรียมการแทรกหรือผนวกxเข้าy) จากนั้นส่งคืนชุดที่เรียงลำดับของหมายเลขใหม่ ตัวอย่างเช่นF (6, 127)จะส่งผลให้ 1267, 1276, 1627, 6127 ที่ยังคงน่าเบื่ออยู่ดี บรรณารักษ์ต้องการเพิ่มรสชาติให้มากขึ้นโดยการระบุฟังก์ชั่นใหม่แทนที่จะz -> {p : p …

3
ธีมวันเกิดของฉัน: ลุกเป็นไฟ
ฉันต้องจุดเทียน อันที่จริงฉันต้องจุดเทียนจำนวนหนึ่งตามอำเภอใจ แต่คนดีเท่านั้น วัตถุประสงค์มีกลุ่มข้อความ (ประกอบด้วยจุดเทียนที่ถูกต้องและไม่ถูกต้อง) และตัวเลขNเป็นอินพุตเขียนโปรแกรมหรือฟังก์ชั่นที่ให้จำนวนเท่ากับเท่ากับNลบจำนวนเทียนที่จุดแล้ว หากNมากกว่าจำนวนเทียนที่ถูกต้องโปรแกรมควรพิมพ์จำนวนเทียนที่ถูกต้องที่ขาดหายไป :(ถ้าไม่มีเทียนเป็นปัจจุบันการส่งออกที่ควรจะเป็น นี่คือเทียนที่ถูกต้องบางส่วน: . | . . | | . \ | | | / (ลงท้ายด้วย a .มีเพียง|หรือสมดุลไม่จำเป็นต้องอยู่ติดกัน\และ/สามารถมีความยาวได้) นี่คือเทียนที่ไม่ถูกต้อง: . . . . \ | | | | | | \ . | ! (ไม่สมดุล\, ไม่มีแท่งเทียน, ตัดการเชื่อมต่อ, ไม่ใช่|ตัวอักษร, ไม่ปลูกบนพื้น) เทียนที่จุดแล้วจะแทนที่.เทียนที่ถูกต้องด้วยอักขระต่อไปนี้ (ตัวเลือกของคุณ): @ ^ & …

5
แต่ละแรงดันคืออะไร
ภาพด้านล่างแสดงวงจร RLC วงจร RLC เป็นวงจรไฟฟ้าที่ประกอบด้วยตัวต้านทาน (R) ตัวเหนี่ยวนำ (L) และตัวเก็บประจุ (C) เชื่อมต่อแบบอนุกรมหรือแบบขนาน (1) เพื่อให้การคำนวณง่ายขึ้นเป็นเรื่องปกติที่จะทำงานในโดเมนความถี่ (Laplace) แทนโดเมนเวลา งานของคุณคือ: ใช้ค่าR, LและCเป็น input และกลับแรงดันไฟฟ้าVR, VLและVC การแปลงเป็นโดเมน Laplace มีดังนี้: R = R XL = j*w*L // OK, XL = w*L, and ZL = j*XL, but don't mind this here. XC = 1/(j*w*C) // I haven't …

17
ผลิตภัณฑ์ในช่วงพิเศษและรวม
แรงบันดาลใจจากคำถามนี้โดย@ CᴏɴᴏʀO'Bʀɪᴇɴ นำมาจากคำถาม: งานของคุณง่าย: ให้สองจำนวนเต็ม a และ b เอาท์พุท ∏ [a, b]; นั่นคือผลคูณของช่วงระหว่าง a และ b คุณอาจใช้ a และ b ในรูปแบบที่สมเหตุสมผลไม่ว่าจะเป็นข้อโต้แย้งกับฟังก์ชั่นการป้อนข้อมูล, STDIN, และอื่น ๆ คุณอาจส่งออกในรูปแบบที่เหมาะสมเช่นค่าตอบแทน (สำหรับฟังก์ชั่น) หรือ STDOUT a จะน้อยกว่า b เสมอ โปรดทราบว่าท้ายที่สุดอาจเป็นแบบเอกสิทธิ์หรือรวมถึง b ฉันไม่จู้จี้จุกจิก ^ _ ^ ความแตกต่างสำหรับความท้าทายนี้คือเราจะพิถีพิถันกับประเภทพิสัย ป้อนข้อมูลคือสตริงของรูปแบบ[a,b], (a,b], [a,b)หรือ(a,b)ที่[]เป็นขอบเขตครอบคลุมและ()เป็นเขตแดน แต่เพียงผู้เดียว ให้ขอบเขตที่ชัดเจนให้ผลิตภัณฑ์ของช่วง นอกจากนี้ช่วงข้อมูลเข้าจะรวมอย่างน้อย 1 หมายเลขซึ่งหมายความว่าช่วงเช่น(3,4)ไม่ถูกต้องและไม่จำเป็นต้องทดสอบ กรณีทดสอบ [a,b) => …
18 code-golf  math 

1
ใครคือผู้ปกครองที่ชอบธรรม?
ใครจะเป็นผู้ปกครองอาณาจักร? คุณจะได้รับแผนภูมิต้นไม้ซึ่งประกอบด้วย: ชื่อ, เพศ, วันเดือนปีเกิด, วันที่ตายและรายชื่อทายาทสำหรับสมาชิกครอบครัวแต่ละคน คุณสามารถใช้รูปแบบรายการที่สะดวก (ซ้อนกัน) เพื่อแสดงต้นไม้ ตัวอย่างต่อไปนี้จะใช้ JSON กำหนดผู้ที่จะปกครองอาณาจักรและในลำดับที่ กฎการสืบทอดมีดังต่อไปนี้: เมื่อกษัตริย์สิ้นชีวิตอาณาจักรก็ไปสู่ลูกผู้ชายที่ถูกกฎหมายที่สุด หากไม่มีใครผ่านไปยังเด็กผู้หญิงที่ถูกกฎหมายที่เก่าแก่ที่สุด ในกรณีที่กษัตริย์ไม่มีทายาทอาณาจักรจะไปหาน้องชายของกษัตริย์ผู้ชอบธรรม หากไม่มีพี่น้องชายอาณาจักรจะไปหาน้องสาวของกษัตริย์ผู้ชอบธรรม หากญาติสนิททุกคนตายไปแล้วอาณาจักรจะไปสู่ไอ้ที่อยู่ใกล้ที่สุดโดยใช้กฎข้างต้น หากไม่มีญาติแท้หรือลูกครึ่งที่ยังมีชีวิตอยู่พิมพ์ LINE EXTINCT เราให้คำจำกัดความลูกชายที่ถูกกฎหมายว่าเป็นคนที่มีชื่อ "บ้าน" เหมือนกับพ่อของมัน ตัวอย่าง: อินพุต {} เอาท์พุต LINE EXTINCT อินพุต { "name" : "Maegor", "house" : "Targaryen", "birth" : 12, "death" : 48, "sex" : "male", "heirs" : [] …
18 code-golf 

1
แปลงร่างกล่อง
ฉันกำหนดรูปแบบกล่องสี่แบบ: +-----+ ooooooo ^^^^^ ******* | 1 | o 2 o < 3 > * 4 * | | o o < > * * +-----+ ooooooo vvvvv ******* เขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดจำนวนเต็มและสตริงจะพบหนึ่งในกล่องด้านบนภายในสตริงและเปลี่ยนรูปแบบของมันเป็นรูปแบบกล่องที่ผู้ใช้ร้องขอ ตัวอย่างเช่น: 1 This is a test document. It ********* has no *purpose* other than dem*onstrat*ion. ********* กลายเป็น: This is a …

1
มินิกอล์ฟรหัสกอล์ฟ
นี่คือมินิกอล์ฟรู: ขอบเขตด้านนอกเป็นวงกลมที่มีรัศมี 10 และกึ่งกลาง (0,0) ขอบเขตด้านในเป็นวงกลมที่มีรัศมี 3 และกึ่งกลาง (0,5) ทีคือที่ (0, -8) สมมติว่าลูกบอลเป็นเพียงจุดที่มีรัศมี 0 การเปลี่ยนแปลงของลูกบอลถูกควบคุมโดยกฎต่อไปนี้: เริ่มแรกลูกบอลถูกยิงด้วยพลังงาน 50 และด้วยมุมที่กำหนด มุมอยู่ในสภาพลดน้อยลงในระบบพิกัดคาร์ทีเซียนดังนั้น 0 °หมายถึงทางด้านขวาโดยตรง 90 °จะขึ้นตรงและต่อไปเรื่อย ๆ เมื่อลูกบอลกระทบกับขอบของวงกลมด้านในหรือด้านนอกมันกระดอนออกจากวงกลมโดยใช้กฎการสะท้อนกลับ มุมชนกับวงกลม ณ จุดนั้นเท่ากับมุมของการสะท้อน (มุมนี้สัมพันธ์กับเส้นสัมผัสของวงกลม ณ จุดชน) สำหรับการชี้แจงให้ดูที่นี่หรือสิ่งนี้ (ในเครื่องหมายของลิงก์ที่สอง, R_0 = 0 ในการท้าทายนี้) ลูกบอลสูญเสียพลังงานเมื่อมันเคลื่อนที่ สำหรับทุกหน่วยของพื้นดินมันครอบคลุมจะสูญเสียพลังงาน 1 หน่วย ทุกครั้งที่มันกระเด้งออกมาจากผนังจะสูญเสียพลังงาน 5 หน่วย ลูกบอลหยุดทั้งเมื่อพลังงานหมดหรือเมื่อตกลงไปในหลุม หากลูกบอลชนกำแพงด้วย <= 5 หน่วยพลังงานลูกบอลจะหยุด มันตกลงไปในรูถ้ามันมีพลังงาน …

4
X ทำเครื่องหมายจุดนั้น
X ทำเครื่องหมายจุดนั้น เป้าหมายของคุณคือการเพิ่มขนไขว้รอบเมืองหลวง X: ตัวอย่างอินพุต / เอาท์พุต การป้อนข้อมูล: mdhyyyyyyyhhhddmmm mdyyssoo oooosyyyhhhdmm hsso oossoooooyyhhdhhdmmm yoooooo oo ssysssyhhdyyyhmmmm myso oso o oyo hhhdhhyhyhhm mm m mhsyhhys oss yyyhhhsosyhhmmmmdmmm mhyhhhy y ssyhoho o shhdmmmmdmmmm hhyyyh s oo syysyyhhdysso oyhdhhhmmmmm dhysyys sdysoXoyyyyhhso syshm mmm hhyhyo o osss y shhyyhd mmmmmm yyhyyyss o oyyyydmmdmmmmmmmmm mm …

7
การกำหนดโครงร่างลำดับชั้น
เขียนโปรแกรมที่ใช้ในสตริงโดยที่ทุกบรรทัดประกอบด้วยอักขระที่0เยื้องด้วยช่องว่างจำนวนหนึ่ง บรรทัดด้านบนไม่เยื้องและบรรทัดอื่น ๆ จะถูกเยื้องโดยมากที่สุดหนึ่งช่องว่างมากกว่าบรรทัดก่อนหน้ามัน ไม่มีบรรทัดที่จะมีช่องว่างต่อท้าย แต่คุณอาจคิดว่ามีบรรทัดใหม่ต่อท้ายเดียว ตัวอย่างเช่นอินพุตอาจมีลักษณะดังนี้: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 งานของคุณคือการกำหนดหมายเลขให้เหมือนโครงร่างแบบลำดับชั้นโดยใช้จำนวนเต็มบวกที่เพิ่มขึ้นเป็นส่วนหัวของบรรทัด นี่จะเป็นผลลัพธ์สำหรับตัวอย่าง: 1 1 1 2 2 2 1 2 3 1 3 1 1 2 โปรดสังเกตว่าระดับการเยื้องของลำดับชั้นทุกชุดมีตัวเลขที่เพิ่มขึ้นของตัวเองอย่างไรแม้ว่าจะเพิ่มขึ้นเป็นหนึ่งเท่านั้น ในเอาต์พุตไม่ควรมีช่องว่างต่อท้าย แต่อาจมีทางเลือกขึ้นบรรทัดใหม่เดียว เขียนโปรแกรมเต็มรูปแบบที่รับสายป้อนข้อมูลผ่าน stdin หรือบรรทัดคำสั่งหรือเขียนฟังก์ชันที่รับสายเข้าเป็นอาร์กิวเมนต์ พิมพ์ผลลัพธ์หรือส่งคืนเป็นสตริง รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง หากสตริงว่างคืออินพุตสตริงว่างควรเป็นเอาต์พุต ตัวอย่างที่น่าสนใจที่สุดต่อไปคืออินพุต 0 ซึ่งควรจะกลายเป็น …

4
สะสมคะแนนความสามารถของตัวละคร D & D ของฉัน
ในคุกใต้ดินและมังกรคุณสมบัติที่สำคัญที่สุดของตัวละครคือคะแนนความสามารถ มี 6 คะแนนความสามารถสำหรับความสามารถทั้งหก ความสามารถคือความแข็งแกร่งความชำนาญรัฐธรรมนูญสติปัญญาภูมิปัญญาและความสามารถพิเศษ เมื่อพิจารณาคะแนนสำหรับตัวละครฉันใช้ขั้นตอนต่อไปนี้: หมุน 4d6 วางต่ำสุดในลำดับใด ๆ สิ่งนี้หมายความว่าฉันหมุนลูกเต๋าหกด้าน 4 ผลละเว้นผลลัพธ์ต่ำสุดและหาผลรวมของอีก 3 สิ่งนี้ทำได้ 6 ครั้ง ตัวเลขที่ได้จะถูกกำหนดให้กับความสามารถในทุกทางที่ฉันต้องการ ระบบที่ฉันใช้ในการกำหนดคะแนนให้กับความสามารถคือการกำหนดคะแนนสูงสุดให้กับทักษะที่สำคัญที่สุดของตัวละครของฉันซึ่งขึ้นอยู่กับชั้นเรียนของตัวละครของฉันกำหนดคะแนนสูงสุดอันดับที่สองให้กับรัฐธรรมนูญเนื่องจากทุกคนต้องการรัฐธรรมนูญ นี่คือตารางทักษะที่สำคัญที่สุดสำหรับชั้นเรียนต่างๆ: Bard - Charisma Cleric - Wisdom Druid - Wisdom Fighter - Stregth Monk - Wisdom Paladin - Charisma Rogue - Dexterity Sorcerer - Charisma Wizard - Intelligence ถาม:ฉันจะให้อักษรตัวแรกของคลาสตัวละครของฉัน (เป็นตัวพิมพ์ใหญ่) (เป็นตัวพิมพ์ใหญ่) …
18 code-golf  game  random 

9
แปลงจุดของเข็มทิศเป็นองศา
ฉันมากับความท้าทายนี้เป็นอิสระ แต่มันจะออกมาเป็นสิ่งที่ตรงกันข้ามเพื่อความท้าทายนี้โดย Doorknob ในขณะที่ฉันชอบสเป็คของเขาฉันตัดสินใจที่จะขโมยชิ้นส่วนขนาดใหญ่แทนที่จะทำตามคำอธิบายของฉันเอง ความท้าทาย รับตัวย่อของหนึ่งใน 32 คะแนนบนเข็มทิศพิมพ์องศาที่สอดคล้องกัน อย่าลังเลที่จะข้ามไปที่ตารางด้านล่างหากคุณไม่สนใจคำอธิบายของ 32 คะแนน นี่คือเข็มทิศเต็ม: โดย Denelson83 (ทำงานของตัวเอง) [ GFDLหรือCC-BY-SA-3.0 ] ผ่านWikimedia Commons แต่ละทิศทางคือ 11.25 (360/32) องศามากขึ้นกว่าก่อนหน้านี้ ตัวอย่างเช่น N (ทิศเหนือ) คือ 0 องศา NbE (เหนือไปทางตะวันออก) คือ 11.25 องศา NNE (ตะวันออกเฉียงเหนือ) คือ 22.5 องศาเป็นต้น ในรายละเอียดชื่อจะถูกกำหนดดังนี้: 0 องศาคือ N, 90 องศาคือ E, 180 องศาคือ S …

11
ทอ ASCII 64 บิต
อินพุต จำนวนเต็มสองจำนวน: จำนวนเต็มที่ไม่ใช่ลบWในช่วง 0 ถึง 2 ^ 64-1 ระบุการสาน จำนวนเต็มบวกSในช่วง 1 ถึง 255 โดยระบุความยาวด้าน สิ่งเหล่านี้สามารถดำเนินการตามลำดับที่เหมาะสมกับคุณ เอาท์พุต การแสดงS by S ASCII ของการร้องขอที่ได้รับการร้องขอ ( S newline คั่นสตริงของอักขระSด้วยการขึ้นบรรทัดใหม่ที่เป็นตัวเลือก) การทอถูกกำหนดโดยหมายเลขการสานWดังนี้: แปลงWเป็นไบนารีและแบ่งออกเป็น 8 ไบต์ ไบต์แรก (ที่สำคัญที่สุด) จะกำหนดแถวบนสุดจากซ้าย (บิตที่สำคัญที่สุด) ไปทางขวา ไบต์ถัดไปกำหนดแถวถัดไปและอื่น ๆ สำหรับ 8 แถว หมายเลขสานกำหนด 8 8 ตารางซึ่งควรจะปูกระเบื้องเหนือพื้นที่ที่ต้องการเริ่มต้นจากด้านบนซ้าย นั่นคือมุมบนซ้ายควรตรงกับมุมซ้ายบนของพื้นที่ที่จะครอบคลุม ทุกคน0ควรแสดงเป็น|และทุกคน1ควรแสดงเป็น- ตัวอย่าง การป้อนข้อมูล: 0 8 ouput: …

30
ค้นหาการเกิดขึ้นของตัวละครในสายป้อน
ท้าทาย เขียนโปรแกรมที่ได้รับสตริงxซึ่งเป็น 10 ตัวอักษรและตัวอักษรy, เอาท์พุทของตัวละครจำนวนครั้งที่เกิดขึ้นในสตริงyx โปรแกรมที่สั้นที่สุดในหน่วยไบต์เพื่อให้ชนะ ตัวอย่าง Input: tttggloyoi, t Output: 3 Input: onomatopoe, o Output: 4

11
กำหนดช่วงจากรายการของค่า
รับรายการที่ไม่เรียงลำดับของจำนวนเต็มบวกที่ไม่ซ้ำกันส่งออกรายการที่สั้นที่สุดของช่วงที่เป็นไปได้ที่ยาวที่สุดของจำนวนเต็มตามลำดับ INPUT รายการที่ไม่เรียงลำดับของจำนวนเต็มบวกที่ไม่ซ้ำกัน เช่น 9 13 3 11 8 4 10 15 อินพุตสามารถนำมาจากหนึ่งในสิ่งต่อไปนี้: stdin อาร์กิวเมนต์บรรทัดคำสั่ง อาร์กิวเมนต์ของฟังก์ชัน เอาท์พุท รายการช่วงที่สั่งซื้อหรือค่าแต่ละค่าที่พิมพ์บนหนึ่งบรรทัดเพื่อ stdout หรือเอาต์พุตที่ใกล้เคียงที่สุดของภาษาของคุณ หากมีจำนวนเต็มต่อเนื่องสองตัวหรือมากกว่า (เรียงตามค่าไม่ใช่ตามตำแหน่งในรายการ) มันจะถูกแสดงว่าเป็นช่วงรวมโดยใช้ -, เช่น 8-11 จำนวนเต็มอื่น ๆ ทั้งหมดจะถูกพิมพ์โดยไม่มีสัญลักษณ์อื่น ช่องว่างเดียวจะคั่นผลลัพธ์ ตัวเลขที่ไม่ปรากฏในอินพุตไม่ควรอยู่ในเอาต์พุตเช่น3 5 6ไม่สามารถตัดให้สั้นลง3-6เพราะ4ไม่มีอยู่ ตัวอย่าง ประสบความสำเร็จ: IN> 9 13 3 11 8 4 10 15 6 OUT> 3-4 6 8-11 13 …
18 code-golf 

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