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

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

30
ผลตอบแทน 1 - การประกวดความนิยม [ปิด]
งาน สร้างฟังก์ชั่น / รูทีนย่อยซึ่งคืนค่า 1 คุณสามารถทำให้มันซับซ้อนตามที่คุณต้องการตราบใดที่มันส่งคืน 1 กฎระเบียบ รายการที่มีผู้ชนะมากที่สุดนั้นก็เหมือนกับการประกวดความนิยมใด ๆ โชคดี!

30
รูเล็ตรัสเซีย
เขียนโปรแกรมที่เล่นรูเล็ตรัสเซีย! หากโปรแกรมเริ่มทำงาน ควรมีโอกาส 5 ใน 6 ของการสิ้นสุดโดยปกติหลังจากการพิมพ์ "ฉันรอดชีวิต!" ควรมีโอกาส 1 ใน 6 ของโปรแกรมที่ล้มเหลว (การแบ่งกลุ่มความผิด ฯลฯ ) ไม่มีอินพุตและไม่อนุญาตเอาต์พุตอื่น การสุ่มต้องยุติธรรม: ต้องมีการแจกแจงความน่าจะเป็นแบบเดียวกัน นี่หมายความว่าตัวแปรที่ไม่ได้กำหนดค่าเริ่มต้น (หรือ RNG ที่ไม่มีเมล็ด) MOD 6 จะไม่เพียงพอ หากโซลูชันทำงานกับระบบปฏิบัติการ / แพลตฟอร์มเฉพาะระบบเดียวคุณจะได้รับการลงโทษ 6 ไบต์จากคะแนน รหัสที่สั้นที่สุดชนะไม่น้อยกว่า 10 วันหลังจากคำตอบที่ถูกต้องครั้งแรก
28 code-golf 

12
Hello World ใน 1024 ตัวอักษร [ปิด]
ใน 1024 อักขระทั้งหมดไม่มากไม่น้อยไปกว่า: Hello Worldต้องพิมพ์ ต้องไม่ใช้ช่องว่างที่ไม่จำเป็น ต้องไม่ใช้ความคิดเห็น การตัดสินควรสนับสนุนความคิดสร้างสรรค์และ / หรือเรื่องตลกมากกว่าเรื่องงง ๆ เมื่อลงคะแนนตอบคำถาม เร็วที่สุดที่ฉันจะเลือกคำตอบคือวันที่ 11 (วันอาทิตย์) ของเดือนพฤศจิกายน (2012) ฉันเห็นรายการที่ยอดเยี่ยมจนถึงตอนนี้แทบรอไม่ไหวที่จะเห็นว่ามีอะไรเกิดขึ้นในคนอีกบ้าง

30
วันศุกร์ที่ 13 ของปีที่แล้ว
ความท้าทายของคุณคือการเขียนโปรแกรมที่ให้ผลเป็นจำนวนปี "วันศุกร์ที่ 13" ในปีนั้น กฎและรายละเอียด: คุณสามารถป้อนข้อมูลผ่านSTDINหรือเป็นอาร์กิวเมนต์ที่ส่งผ่านไปยังโปรแกรมของคุณ STDOUTคุณควรส่งออกผลให้ คุณอาจจะสมมติว่าการป้อนข้อมูลจะเป็นปีที่ถูกต้องและไม่ได้ทำการปรับปรุงปฏิทินเกรโกเรียนล่วงหน้า (พฤติกรรมที่ไม่ได้กำหนดจะได้รับอนุญาตในกรณีเหล่านี้) อนุญาตให้ใช้ไลบรารีปฏิทิน / วันที่ นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ (ลิงค์ท้าทายที่เกี่ยวข้อง)
28 code-golf  date 

7
ทำคะแนนมือขโมยคัดเรื่อง
ความท้าทายนี้คือทำคะแนนให้กับมือขโมยคัดเรื่อง หากคุณไม่เล่น Cribbage คุณได้เรียนรู้ที่จะทำ เราเล่นกับเด็คโป๊กเกอร์มาตรฐานและมือประกอบด้วยไพ่สี่ใบพร้อมกับ "ไพ่เพิ่ม" มือมีสองประเภท: ปกติและ 'มือเปล' การ์ดมาในรูปแบบvsที่vเป็นหนึ่ง: A23456789TJQK(T สิบ) และเป็นหนึ่งในs SCDHมือจะได้รับในแบบฟอร์ม (ตัวอย่าง) AS 2D 3H JS | 4S ที่4Sเป็นบัตรขึ้น มือเปลจะมีรูปแบบ JD 3C 4H 5H | 5S ! การ์ดใบหน้ามีค่า 10 และเอซมีค่าเป็น 1 การให้คะแนนจะดำเนินการดังนี้ Fifteens: สำหรับเซตย่อยของไพ่ห้าใบที่มีผลรวมเป็น 15 ให้เพิ่มสองแต้ม คู่: สำหรับไพ่แต่ละคู่ที่มีลำดับเท่ากัน (ไม่ใช่ค่า) ให้เพิ่มสองแต้ม Runs: สำหรับความยาวสูงสุดของไพ่ต่อเนื่องที่ยาวกว่า 2 แต่ละใบให้เพิ่มความยาวของคะแนน Flush: ถ้าไพ่ทั้งห้าใบเป็นชุดเดียวกันให้เพิ่มห้าแต้ม มิฉะนั้นถ้าทั้งหมดยกเว้นบัตร …
28 code-golf  game 

30
พิมพ์ส่วนโค้งของตัวเลขจากน้อยไปมาก / มากไปน้อย
ฉันคิดว่า "ส่วนโค้ง" เป็นวิธีที่ดีที่สุดในการอธิบายรูปแบบของตัวเลขนี้: 1234567887654321 1234567 7654321 123456 654321 12345 54321 1234 4321 123 321 12 21 1 1 ที่กำหนดไว้อย่างเป็นทางการแต่ละบรรทัดประกอบด้วยตัวเลข 1 ถึง9-n, (n-1)*2การเว้นวรรคและตัวเลขที่9-nผ่าน 1 (ที่nเป็นบรรทัดปัจจุบัน) งานของคุณคือการเขียนโดยใช้รหัสที่สั้นที่สุดที่เป็นไปได้สคริปต์ / โปรแกรมขนาดเล็กที่พิมพ์รูปแบบข้างต้นภายใต้ข้อ จำกัด ดังต่อไปนี้: คุณไม่สามารถ hardcode รูปแบบทั้งหมดได้ คุณอาจ hardcode บรรทัดเดียวของรูปแบบสูงสุด โปรแกรมของคุณจะต้องพิมพ์ขึ้นบรรทัดใหม่ (การรวมกันของ\nหรือ\r) ในตอนท้ายของแต่ละบรรทัด พร้อม ... ตั้ง .... ไปกันเลย!

30
สลับหน้าของข้อความ
แก้ไขฉันแก้ไขถ้อยคำของกฎเพื่อทำให้บางสิ่งที่ชัดเจนโดยนัยยิ่งขึ้น ฉันยังเพิ่มความสำคัญบางอย่างเพื่อกำจัดจุดที่สับสนชัดเจนและกำหนดตัวเลือกในการทำโปรแกรมสแตนด์อโลนแทนฟังก์ชั่น เป้าหมายที่นี่คือการทำให้ฟังก์ชั่นที่ใช้ไฟล์ข้อความ (หรือสตริง) และเปลี่ยนมันเพื่อให้บรรทัดกลายเป็นคอลัมน์และในทางกลับกัน ตัวอย่าง: ฉันเป็นข้อความ ไขว้ฉัน คุณทำได้มั้ย? ผลลัพธ์ใน: ITC RA อาน ล้าน ซี่ APO อู ทีเอส อี๊ด XO TM .ei .t ? กฎระเบียบ: คุณได้รับอนุญาตให้สมมติว่าอักขระช่องว่างเท่านั้นที่ใช้เป็น" "และ"\n"และไม่มีช่องว่างต่อท้ายในบรรทัดใด ๆ คุณอาจคิดว่าไฟล์นั้นเป็น ASCII เครื่องหมายปลายทางที่คุณต้องการใช้ขึ้นอยู่กับคุณ (CRLF หรือ LF) มันจะต้องทำงานอย่างถูกต้องกับตัวอย่าง แต่มันก็ควรจะทำงานกับข้อมูลใด ๆที่เป็นไปตามสมมติฐานข้างต้น คุณอาจต้องแทรกช่องว่าง (ในตัวอย่าง) โดยที่ไม่มีเพื่อรักษาคอลัมน์ในบรรทัด ผลของคุณต้องไม่ได้ต่อท้ายช่องว่างในบรรทัดใด ๆ อักขระขึ้นบรรทัดใหม่สุดท้าย (สำหรับบรรทัดสุดท้าย) เป็นทางเลือก ควรเป็นฟังก์ชันหรือโปรแกรมที่สมบูรณ์ หากฟังก์ชั่นของคุณยอมรับสตริงก็ควรส่งคืนผลลัพธ์เป็นสตริง หากยอมรับชื่อไฟล์คุณจะส่งคืนชื่อไฟล์ที่คุณบันทึกผลลัพธ์ นอกจากนี้คุณยังได้รับอนุญาตให้เขียนโปรแกรมที่สมบูรณ์ซึ่งรับอินพุตจาก STDIN …
28 code-golf  string 

17
ถอดรหัสVigenère ciphertext
Vigenere ตัวเลขเป็นตัวเลข polyalphabetic ง่ายๆที่พื้นใช้หนึ่งยันต์จักรพรรดิหลายตามคีย์ โดยพื้นฐานแล้วตัวอักษรในปุ่มจะระบุว่าจะใช้ตัวอักษรใดในการเลื่อน ด้วยเหตุนี้จึงมีเครื่องมือง่าย ๆ ที่เรียกว่าVigenère square: ที่นี่แต่ละแถวเป็นตัวอักษรแยกเริ่มต้นด้วยตัวอักษรที่เกี่ยวข้องของคีย์ คอลัมน์จะถูกใช้เพื่อกำหนดตัวอักษรที่เข้ารหัส การถอดรหัสใช้งานได้เหมือนกันมากในทางกลับกันเท่านั้น CODEGOLFสมมติว่าเราต้องการที่จะเข้ารหัสสตริง เรายังต้องการกุญแจ FOOBARในกรณีนี้ที่สำคัญจะต้องเป็น FOOBARFOเมื่อที่สำคัญคือสั้นกว่าธรรมดาที่เราขยายได้โดยการทำซ้ำจึงเป็นกุญแจสำคัญที่เกิดขึ้นจริงที่เราใช้คือ ตอนนี้เราค้นหาตัวอักษรตัวแรกของกุญแจซึ่งก็คือFการค้นหาตัวอักษร Fมันเริ่มต้นอาจจะแปลกใจกับ Hตอนนี้เราได้พบกับคอลัมน์ที่มีอักษรตัวแรกของเท็กซ์และตัวอักษรที่เกิดขึ้นคือ สำหรับจดหมายที่สองที่เรามีเป็นตัวอักษรที่สำคัญและตัวอักษรข้อความธรรมดาที่เกิดขึ้นในO อย่างต่อเนื่องวิธีการที่ในที่สุดเราก็จะได้รับCHCRFGFQT งาน ตอนนี้งานของคุณคือการถอดรหัสข้อความให้รหัส อย่างไรก็ตามเนื่องจากเราเติบโตเกินกว่าศตวรรษที่ 16 และมีคอมพิวเตอร์อย่างน้อยเราควรสนับสนุนตัวอักษรขนาดใหญ่กว่าเล็กน้อย: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 การก่อสร้างจัตุรัสVigenèreยังคงเหมือนเดิมมากและศูนย์ยังคงทำงานในลักษณะเดียวกัน เป็นเพียงเล็กน้อย ... ไม่เต็มใจที่จะให้ที่นี่เต็ม อินพุต อินพุตได้รับจากอินพุตมาตรฐานเป็นข้อความสองบรรทัดแยกกันโดยแต่ละบรรทัดจะถูกยกเลิกโดยการขึ้นบรรทัดใหม่ บรรทัดแรกมีคีย์ในขณะที่บรรทัดที่สองประกอบด้วย ciphertext เอาท์พุต บรรทัดเดียวที่มีข้อความที่ถอดรหัส สภาพการชนะ เนื่องจากการเข้ารหัสบางครั้งถือเป็นอาวุธรหัสควรสั้นเพื่ออำนวยความสะดวกในการลักลอบขนง่าย ยิ่งสั้นยิ่งดีก็ยิ่งลดโอกาสในการค้นพบน้อยลง ตัวอย่างอินพุต 1 Key miQ2eEO ตัวอย่างผลลัพธ์ 1 Message ตัวอย่างอินพุต 2 ThisIsAKey …
28 code-golf  cipher 

5
เครื่องคิดเลขขั้นสูง
คุณต้องเขียนโปรแกรมที่ประเมินสตริงที่จะถูกป้อนลงในเครื่องคิดเลขขั้นสูง โปรแกรมจะต้องยอมรับอินพุตโดยใช้ stdin และออกคำตอบที่ถูกต้อง สำหรับภาษาที่ไม่มีฟังก์ชั่นที่จะยอมรับ stdin คุณอาจถือว่าฟังก์ชั่นนั้นreadLineและprintจัดการงานเหล่านี้ ที่ต้องการ: ห้ามใช้ฟังก์ชั่น "eval" ใด ๆ สามารถจัดการกับจำนวนจุดลอยตัวและจำนวนลบ รองรับตัวดำเนินการอย่างน้อย +, -, *, / และ ^ รองรับวงเล็บและวงเล็บสำหรับแทนที่คำสั่งปกติ สามารถจัดการกับการป้อนข้อมูลที่มีหนึ่งหรือมากกว่าช่องว่างระหว่างผู้ประกอบการและตัวเลข ประเมินอินพุตโดยใช้คำสั่งมาตรฐานของการดำเนินการ กรณีทดสอบ อินพุต 10 - 3 + 2 เอาท์พุต 9 อินพุต 8 + 6 / 3 - 7 + -5 / 2.5 เอาท์พุต 1 อินพุต 4 + [ …
28 code-golf  math 

30
คำนวณเลขเช็คไอ -13
เขียนฟังก์ชั่นซึ่งให้รหัส 12 หลักแรกของรหัสISBN-13จะคำนวณ ISBN ทั้งหมดผ่านการคำนวณและต่อท้ายตัวเลขการตรวจสอบที่เหมาะสม การป้อนข้อมูลของฟังก์ชันของคุณคือสตริงที่มี 12 หลักแรกของ ISBN เอาท์พุทมันเป็นสตริงที่มีทั้งหมด 13 หลัก ข้อกำหนดอย่างเป็นทางการ เขียนฟังก์ชั่นซึ่งเมื่อได้รับสตริงsประกอบด้วยทศนิยมทั้งหมด 12 หลัก (และไม่มีอักขระอื่น ๆ ) ส่งคืนสตริงtด้วยคุณสมบัติดังต่อไปนี้: tประกอบด้วยตัวเลขทศนิยม 13 หลัก (และไม่มีอักขระอื่น ๆ ); sเป็นคำนำหน้าของt ; ผลรวมของตัวเลขทั้งหมดในตำแหน่งคี่ในt (เช่นที่หนึ่งที่สามที่สาม ฯลฯ ) บวกสามครั้งรวมของตัวเลขทั้งหมดที่อยู่ในตำแหน่งที่เท่ากันในt (เช่นที่สองที่สี่หกและอื่น ๆ ) เป็น หลาย 10 ตัวอย่าง / กรณีทดสอบ อินพุต 978030640615 เอาท์พุต 9780306406157 เงื่อนไขชัยชนะ ในฐานะที่เป็นความท้าทายของรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ

30
ใช้งานการให้แสงเสียง / คำบรรยายโดยไม่ใช้ '^'
ความท้าทาย ติดตั้งtetration (aka Power Tower หรือ Hyperexponentiation) ด้วยจำนวนอักขระน้อยที่สุด เงื่อนไข อย่าใช้อำนาจ 'ผู้ประกอบการหรือเทียบเท่า (เช่นpow(x,y), x^y, x**yฯลฯ ) อินพุตที่ได้รับเป็น: x y(คั่นด้วยช่องว่าง) xมีการอธิบายด้วยตัวเองyครั้ง วิธีการของคุณจะต้องสามารถคำนวณได้อย่างน้อย4 3(4 exponentiated ด้วยตัวเอง 3 ครั้ง) เกณฑ์การให้คะแนน ชนะคะแนนต่ำสุด: (จำนวนตัวอักษร) การหักโบนัสหากคุณไม่ได้ใช้ตัวดำเนินการคูณ (-5 คะแนน) ไม่มีข้อกำหนดด้านความเร็ว / หน่วยความจำ ใช้เวลานานเท่าที่คุณต้องการ ตัวอย่าง x, 0 -> 1 2, 2 -> 2^2 = 4 2, 4 -> 2^(2^(2^2)) …
28 code-golf  math 

29
แสดงตัวเลข“ รูปแบบนาฬิกาดิจิตอล”
เขียนโปรแกรมที่สั้นที่สุดซึ่งจะนำสตริงตัวเลข ( ความยาวไม่เกิน 20 ตัวขึ้นไป) เป็นอินพุตและแสดงผลลัพธ์โดยใช้หมายเลขสไตล์นาฬิกาดิจิตอลมาตรฐาน เช่นอินพุท 81 โซลูชันที่มี ascii จะให้: _ |_| | |_| | เอาท์พุทกราฟิกยังเป็นที่ยอมรับถ้ามันช่วย

29
ฟังก์ชันโคลอมเบียแบบผกผัน
ให้กำหนดลำดับที่: ลำดับ n หลักข้อสรุป (n-DSS) เป็นลำดับที่เริ่มต้นด้วยn หากหมายเลขที่ผ่านมาเป็นkแล้วจำนวนต่อไปคือk + หลักผลรวม (k) นี่คือสองสาม n-DSS แรก: 1-DSS: 1, 2, 4, 8, 16, 23, 28, 38, 49, 62, 70... 2-DSS: 2, 4, 8, 16, 23, 28, 38, 49, 62, 70, 77... 3-DSS: 3, 6, 12, 15, 21, 24, 30, 33, 39, 51, 57... 4-DSS: …

24
เอาท์พุทรูปภาพ Super Mario
นี่เป็นปัญหาของ Luogu OJ ฉันตัดสินใจที่จะโพสต์ที่นี่เพราะใน Luogu OJ หลายคนรวมถึงฉันและเพื่อนของฉันสนใจที่จะแก้ปัญหานี้ด้วยตัวละครที่น้อยที่สุด งานของคุณคือการส่งออก ASCII-art ต่อไปนี้: ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## …

8
Golf a Brain-Flak Integer
นัมเบอร์น่าเบื่อที่จะเป็นตัวแทนในBrain-Flak มีผู้ให้บริการ 8 ราย: () Evaluates to 1, but does not push anything on any stack [] Evaluates to an indeterminate value for the purposes of this question {} Removes the top of the stack and evaluates to it <> Switches to or back from the alternate stack and evaluates …

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