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

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

9
KOTH: นักล่าสัตว์ประหลาด
อัปเดตผลลัพธ์ บทนำ เพื่อเป็นการฉลองการเปิดตัว Monster Hunter 4 Ultimate ใน 3DS ใหม่ (วันที่ 13 กุมภาพันธ์) นี่คือเกม King of the Hill ที่มีธีมในเกมนี้ คุณเป็นนักล่ามือใหม่ที่จะเข้าร่วมการแข่งขันซึ่งประกอบด้วยนักล่า 5 คน ในตอนท้ายของการล่าเหล่านี้นักล่าจะได้รับการจัดอันดับขึ้นอยู่กับความเสียหายที่พวกเขากระทำกับมอนสเตอร์และแน่นอนว่าพวกเขาฆ่ามันหรือถูกกำจัดโดยมัน นอกจากนี้ในฐานะผู้เริ่มหัดคุณจะต้องติดอาวุธที่คุณเลือกจนกว่าคุณจะมีประสบการณ์มากขึ้น พจนานุกรม ATK: Attack DEF: Defense HP : Health Points NRG: พลังงาน GRD: Guard SPD: ความเร็ว SHP: ความคมชัด AGR: Aggressivity POT: Potion RAT: Ration WHE : หินลับ …

6
เอาท์พุท 2015 เป็นรหัส QR
ภารกิจง่าย เพียงแค่เอาท์พุทหมายเลข 2015 เป็นรหัส QR แล้วเขียนลงในไฟล์ที่มีชื่อnewyear.pngในรูปแบบ PNG รหัสต้องถูกต้องทุกวันดังนั้นบางทีคุณอาจไม่ใช้ปีปัจจุบัน รหัส QR เนื่องจากข้อความดูเหมือนว่านี้: # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # …

4
10, 10, 10 ... ฉันหวังหรือไม่
คำนำ เมื่อก่อนฉันยิงธนู 900 รอบในวันนี้ (10 จบที่ 6 ลูกศรสิ้นสุดและ 10 จบที่ 3 ลูกศรต่อท้ายรวม 90 ลูกศรและคะแนนสูงสุด 900) ฉันคิดว่าความท้าทายนี้ ในการยิงธนู (สมมติว่าคุณกำลังยิงบนหน้าเป้าหมายของ FITA ที่ให้มา[ชิ้นส่วนของกระดาษที่คุณยิง]) สำหรับลูกศรแต่ละลูกคุณสามารถรับคะแนนสูงสุดได้ 10 คะแนนใบหน้าเป้าหมายมี 10 หรือ 11 วงแหวนที่มีเส้นผ่านศูนย์กลางลดลง ซ้อนอยู่ภายในซึ่งกันและกัน จากวงในออกไปด้านนอกสิ่งเหล่านี้นับจาก 10 คะแนนไปจนถึงจุดหนึ่ง (และในกรณีที่มี 11 วงมีวงแหวนชั้นในสุดที่สองซึ่งนับเป็น 'X' ซึ่งทำคะแนนได้เท่ากับ 10 แต่ถูกใช้ในกรณีแตก มูลค่าที่สูงขึ้น) สังเกต: แน่นอนฉันหมายถึงเกณฑ์การให้คะแนน FITA ตามที่เห็นในภาพประกอบด้านบน หากคุณมองอย่างใกล้ชิดคุณอาจสังเกตแหวนวงในสุดซึ่งเป็นเส้นประจางซึ่งไม่มีคะแนน นั่นคือ 'X' ที่ฉันอ้างถึง แต่คุณจะไม่ต้องใส่ใจกับสิ่งนั้นเว้นแต่จะแข่งขันเพื่อรับโบนัส ท้าทาย สร้างฟังก์ชั่น …

17
รักษาระยะห่างของคุณ!
ผู้เล่นทุกคนมีหมายเลข คุณเป็นคนที่ไกลที่สุดจากพวกเขาทั้งหมดได้หรือ ความต้องการ เขียนฟังก์ชัน Java, Python 2 หรือ Ruby ชื่อchoose()ที่ยอมรับอาร์กิวเมนต์สามตัว: จำนวนเต็ม - จำนวนรอบแล้วเสร็จ จำนวนเต็ม - จำนวนผู้เล่น อาร์เรย์ของสตริง - ผลลัพธ์ของแต่ละรอบก่อนหน้า แต่ละสตริงเป็นรายการจำนวนเต็มคั่นด้วยช่องว่างเรียงจากต่ำสุดไปสูงสุด ตัวอย่างเช่นchoose(2, 4, ["4 93 93 174", "1 84 234 555"])หมายถึง: มีอยู่สองรอบแล้ว (นี่คือรอบที่สาม) มีผู้เล่นทั้งหมดสี่คน ในรอบแรกจำนวนที่เลือกคือ 4, 93, 93, 174 ในรอบที่สองจำนวนที่เลือกคือ 1, 84, 234, 555 คุณต้องส่งคืนจำนวนเต็มตั้งแต่ 1 ถึง 999 (รวม) สำหรับผู้เล่นแต่ละคนคะแนนของคุณคือรากที่สองของระยะทางระหว่างหมายเลขของคุณกับพวกเขา คะแนนของคุณสำหรับรอบนั้นคือผลรวมของคะแนนทั้งหมดเหล่านี้ …

1
การ์ดตัวอักษรที่เหมาะสมสำหรับการสะกดคำ
สมมติว่าคุณมีรายการคำและคุณต้องการที่จะใช้การ์ดตัวอักษรเพื่อสะกดแต่ละคำ ตัวอย่างเช่นหากต้องการสะกดคำว่าcatคุณจะต้องใช้ไพ่สามใบที่มีป้ายกำกับ C, A, T สมมติว่าการ์ดแต่ละใบเป็นสองด้านให้ส่งโปรแกรมเพื่อกำหนดจำนวนขั้นต่ำของการ์ดที่สามารถใช้สะกดคำทั้งรายการ อินพุตเป็นรายการคำสามารถเป็นไฟล์บรรทัดคำสั่งอะไรก็ได้ ผลลัพธ์คือรายการของการ์ดที่ฟอร์แมตและจัดเรียงตามที่เห็นสมควรโดยมีความชัดเจนว่าการ์ดถูกระบุว่าอย่างไร กรณีไม่สำคัญ: กอล์ฟ, กอล์ฟและ GOLF เทียบเท่า คำแนะนำบางอย่าง: จำนวนของการ์ดต้องไม่น้อยกว่าความยาวของคำที่ยาวที่สุด มันไม่มีเหตุผลที่การ์ดจะมีตัวอักษรเหมือนกันทั้งสองด้าน ในขณะที่ตัวพิมพ์เล็กไม่สำคัญแนะนำให้ใช้ตัวพิมพ์เล็กเพื่อใช้ประโยชน์จากความสมมาตรบางอย่าง ตัวอย่างเหล่านี้ใช้ประโยชน์จากความสมมาตรบางอย่าง : อินพุต: ben, บึง, บั๊ก, den, do, doe, สุนัข, เนื่องจาก, ขุด, Ed, จบ, gob, พระเจ้า, เน็ด, บทกวี, บทกวี, ปากกา, Poe, ปั๊ก เอาต์พุต: b / d, e / g, o / n อินพุต: …

7
ปัญหากล่องวิเศษ
คุณมีอาร์เรย์อินพุตขนาด m * n แต่ละเซลล์ในอาเรย์นั้นบรรจุด้วย P หรือ T การดำเนินการเดียวที่คุณสามารถทำได้ในอาเรย์คือคอลัมน์แบบพลิก เมื่อคุณพลิกคอลัมน์ตัวอักษรในเซลล์ทั้งหมดของสวิตช์คอลัมน์นั้น (P กลายเป็น T และ viceversa) หากคุณมีจำนวนแถว 'x' ที่มีตัวอักษรเดียวกัน (เช่น PPPP) คุณจะได้รับคะแนน ออกแบบอัลกอริทึมที่ใช้ในอาเรย์และส่งกลับโซลูชัน (คอลัมน์ที่จะพลิก) เพื่อให้อาเรย์ที่เกิดขึ้นนั้นมีจำนวนคะแนนสูงสุด หมายเหตุ: ในกรณีที่มีวิธีแก้ไขปัญหาหลายอย่างที่ให้คะแนนสูงสุดให้เลือกวิธีที่มีจำนวนการพลิกน้อยที่สุด ตัวอย่าง: อินพุตอาร์เรย์: PPTPP PPTPP PPTTP PPPTT PPPTT เอาท์พุท: 3 คำอธิบาย: โซลูชันที่ให้คะแนนสูงสุด: พลิกคอลัมน์หมายเลข 3 จากนั้นอาร์เรย์ดั้งเดิมจะเป็น: PPPPP // 1 point PPPPP // 1 point PPPTP PPTTT …
15 code-golf 

11
สร้างกราฟ
ในความท้าทายนี้งานของคุณคือการสร้างกราฟที่ไม่มีทิศทางจากลำดับของคำสั่ง มีหนึ่งคำสั่งสำหรับแต่ละจำนวนเต็มไม่ใช่ค่าลบและแต่ละแปลงกราฟที่กำหนดเป็นหนึ่งใหม่ คำสั่ง0: เพิ่มโหนดที่ไม่ได้เชื่อมต่อใหม่ คำสั่ง1: เพิ่มโหนดใหม่และเชื่อมต่อกับทุกโหนดที่มีอยู่ Directive m > 1: เอาโหนดทั้งหมดที่มีการศึกษาระดับปริญญา (จำนวนเพื่อนบ้าน) mหารด้วย โปรดทราบว่า0สามารถแบ่งได้โดยทั้งหมดmดังนั้นโหนดที่ไม่ได้เชื่อมต่อจะถูกลบออกเสมอ คำสั่งถูกนำไปใช้หนึ่งโดยหนึ่งจากซ้ายไปขวาเริ่มต้นด้วยกราฟที่ว่างเปล่า ตัวอย่างเช่นลำดับ[0,1,0,1,0,1,3]จะถูกประมวลผลดังต่อไปนี้อธิบายโดยใช้ศิลปะ ASCII ที่ยอดเยี่ยม เราเริ่มต้นด้วยกราฟที่ว่างเปล่าและเพิ่มจุดยอดเดียวตามที่กำกับโดย0: a จากนั้นเพิ่มจุดสุดยอดอีกอันและเชื่อมต่อกับจุดแรกตามที่กำกับโดย1: a--b เราเพิ่มจุดสุดยอดที่ไม่ได้เชื่อมต่ออีกอันจากนั้นเชื่อมต่ออีกจุดหนึ่งตามที่กำกับโดย0และ1: a--b c \ \ / `--d เราทำซ้ำอีกครั้งตามที่กำกับโดย0และ1: ,--f--e / /|\ a--b | c \ \|/ `--d สุดท้ายเราก็ลบจุดยอดองศา -3 aและbตามที่กำกับโดย3: f--e |\ | c |/ d [0,1,0,1,0,1,3]นี้เป็นกราฟที่กำหนดโดยลำดับ อินพุต …

1
ก่อวินาศกรรมรถไฟเพื่อให้มันสาย [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา "ฉันต้องการไปที่ Araby bazaar เพื่อซื้อของขวัญสำหรับที่ฉันตกหลุมรักด้วยอย่างไรก็ตามถ้าฉันมาสายเกินไปร้านค้าทั้งหมดจะถูกปิดและฉันจะไม่สามารถซื้ออะไรได้คุณช่วยได้ไหม ผมได้ไหม " เป้าหมาย:พาเด็กชายไปที่ Araby จาก North Richmond Street ก่อนที่ร้านค้าทั้งหมดจะปิด เป้าหมายที่แท้จริง:ตรวจสอบให้แน่ใจว่าเด็กผู้ชายไม่ได้มาถึง Araby ก่อนที่ร้านค้าจะปิด โปรแกรมของคุณจะรับอินพุตในรูปแบบต่อไปนี้: <time> <map> ที่ไหน <time>เป็นเวลาสูงสุดที่เด็กชายสามารถใช้เวลาเดินทางเป็นนาที มันเป็นจำนวนเต็มบวก <map> เป็นกราฟของเส้นทางที่รถไฟสามารถรับได้ นี่คือรูปแบบของกราฟที่ใช้งานได้: แต่ละคำสั่งจะจบด้วยเซมิโคลอน โหนดในแผนที่ (ซึ่งเป็นตัวแทนของสวิทช์) จะถูกแสดงโดยใช้ตัวอักษรตัวพิมพ์เล็ก เส้นทางระหว่างโหนดจะถูกแสดงด้วยไวยากรณ์a,X,bโดยที่Xเป็นจำนวนเต็มแทนน้ำหนักของเส้นทาง น้ำหนักของเส้นทางคือเวลาเป็นนาทีรถไฟจะผ่านทั้งสองโหนด อาราบีเป็นตัวแทนที่มีและนอร์ทริชมอนด์ถนนเป็นตัวแทนที่มี an เส้นทางทั้งหมดเป็นแบบสองทิศทาง ตัวอย่างเช่นกราฟนี้ (เสแสร้งเส้นทางเป็นแบบสองทิศทาง): ภาพโดย Artyom Kalinin …

1
Ray-trace เป็นทรงกลมเงางาม
ฉันดาวน์โหลด POV-ray และแสดงสไตล์ทรงกลม 90s โลหะมันวาวนี้: งานของคุณคือทำสิ่งเดียวกัน แต่ทำได้โดยการนำเอ็นจิ้นการเรนเดอร์มาใช้ด้วยตัวเองในเวลาไม่กี่ไบต์เท่าที่จะทำได้ คุณไม่จำเป็นต้องทำซ้ำภาพที่แน่นอน - ภาพใด ๆ ของทรงกลมสะท้อนแสงเหนือกระดานหมากรุกที่ไม่มีที่สิ้นสุดจะทำตราบใดที่มันเป็นไปตามเกณฑ์ด้านล่าง กฎ: ภาพจะต้องแสดงให้เห็นถึงทรงกลมสะท้อนแสงลอยอยู่เหนือกระดานหมากรุกที่ไม่มีที่สิ้นสุด ทั้งกระดานหมากรุกและการสะท้อนในทรงกลมจะต้องแสดงในภาพ ต้องชัดเจนด้วยตาว่านี่คือสิ่งที่เราเห็น นอกเหนือจากนี้รายละเอียดของรูปทรงเรขาคณิตสีคุณสมบัติของวัสดุ ฯลฯ ขึ้นอยู่กับคุณ จะต้องมีแสงสว่างในฉาก: ส่วนของทรงกลมควรมืดกว่าส่วนอื่นและควรมองเห็นได้อย่างชัดเจนว่าแสงมาจากไหน ยิ่งไปกว่านั้นรายละเอียดของรูปแบบแสงขึ้นอยู่กับคุณ (คุณสามารถคิดค้นรูปแบบแสงที่เรียบง่ายของคุณเองได้หากต้องการ) ทรงกลมไม่จำเป็นต้องมีเงา เกณฑ์สองข้อข้างต้น - ไม่ว่าจะเป็นรูปทรงกลมที่เป็นประกายเงางามเหนือกระดานหมากรุกที่ส่องสว่างโดยแหล่งกำเนิดแสงจะถูกตัดสินโดยชุมชนโดยใช้การลงคะแนน ดังนั้นคำตอบจะต้องมีคะแนนบวกเพื่อให้มีสิทธิ์ชนะ ผลลัพธ์ต้องมีอย่างน้อย 300x300 พิกเซล สามารถแสดงผลบนหน้าจอหรือเขียนลงไฟล์ได้ รหัสของคุณควรทำงานในเวลาน้อยกว่าหนึ่งชั่วโมงในคอมพิวเตอร์ที่ทันสมัย (นี่คือใจกว้าง - POV-ray ทำให้ฉากเหนือจริงทันที) ไม่สามารถใช้ฟังก์ชั่นการติดตามเรย์ในตัวได้ - คุณต้องติดตั้ง renderer ด้วยตนเอง นี่คือโค้ดกอล์ฟดังนั้นการให้คะแนนรายการบวกด้วยรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ อย่างไรก็ตามคุณยังสามารถเล่น meta-game เพื่อให้ได้คะแนนมากที่สุดโดยการวาดรูปสวย ๆ (ในขณะที่รักษารหัสให้สั้น) …

3
คุณเป็นคนหนึ่งหรือไม่ (ผู้บงการอนุพันธ์)
ฉันมีสิ่งที่ยากสำหรับคุณ! แฟนของฉันเพิ่งเจอรายการใหม่ใน MTV (USA) มันเป็นการแสดงที่แย่มากและทุกคนในนั้นดูไร้ค่า แต่ "เกม" น่าสนใจทีเดียว จาก Wikipedia: คุณเป็นคนหนึ่งหรือไม่ ติดตาม 20 คนที่อาศัยอยู่ด้วยกันในฮาวายเพื่อค้นหาคู่แท้ของพวกเขา หากผู้ชาย 10 คนและผู้หญิง 10 คนสามารถเลือกการแข่งขันที่สมบูรณ์แบบทั้งสิบรายการได้อย่างถูกต้องภายในสิบสัปดาห์พวกเขาจะได้รับ $ 1 ล้านเพื่อแยกพวกเขา ตอนนี้สำหรับส่วนของเกม (เช่นจาก Wikipedia): แต่ละตอนที่นักแสดงจะจับคู่กับผู้ที่พวกเขาเชื่อว่าคู่ที่สมบูรณ์แบบของพวกเขาคือการแข่งขันในการท้าทาย ผู้ชนะการแข่งขันจะออกเดทและมีโอกาสทดสอบการแข่งขันในบูธจริง สมาชิกนักแสดงจะเลือกคู่ที่ชนะเลิศหนึ่งคนเพื่อไปที่บูธความจริงเพื่อพิจารณาว่าพวกเขาเป็นคู่ที่สมบูรณ์แบบหรือไม่ นี่เป็นวิธีเดียวที่จะยืนยันการแข่งขัน แต่ละตอนจบลงด้วยพิธีจับคู่ที่คู่รักจะได้รับการบอกว่ามีคู่ที่สมบูรณ์แบบจำนวนมาก แต่ไม่ตรงกับที่ตรงกัน TL; DR: นี่คืออนุพันธ์ของ Mastermind (M (10,10)) กฎของเกมมีดังนี้: คุณเริ่มต้นด้วย 2 ชุด 10 ตัวเราเรียกมันว่าเซต A: {A, B, C, D, E, F, …

4
ปลอมการพยากรณ์
สภาพอากาศใหม่คาดการณ์ซูเปอร์คอมพิวเตอร์มาถึงแล้วและมันไม่ทำงาน ในขณะเดียวกันเจ้านายของคุณต้องการให้คุณซื้อช่างเทคนิคสักครั้งโดยการแกล้งทำแผนที่ลม งานของคุณคือการวาดตารางลูกศรแสดงทิศทางลม ตารางคือ: ประกอบด้วยกระเบื้องสี่เหลี่ยม 15px 8 แผ่นโดย 8 แผ่น ผลรวมสี่เหลี่ยมจตุรัส 120px พื้นหลัง 000 กระเบื้องกริดแต่ละตัวมีทิศทางที่อาจเกิดขึ้น 8 ทิศทางซึ่งเป็นทิศทางลม: ทางทิศเหนือ ตะวันออกเฉียงเหนือ ตะวันออก ทิศตะวันออกเฉียงใต้ ภาคใต้ ทิศตะวันตกเฉียงใต้ ตะวันตก ตะวันตกเฉียงเหนือ ซึ่งจะต้องมีการอธิบายดังนี้ N NE E SE S SW W NW แผนที่จะต้องแตกต่างกันไปเรื่อย ๆเพื่อที่จะเชื่อ ซึ่งหมายความว่าแต่ละไทล์อาจแตกต่างจากเพื่อนบ้านเพียงหนึ่งขั้นตอน โดยเฉพาะ: ไทล์สามารถแตกต่างกันได้โดยเพิ่มขึ้นหรือลดลงจากกระเบื้องติดกัน 4 แผ่นเท่านั้น (หรือ 3 สำหรับกระเบื้องด้านข้าง 2 สำหรับกระเบื้องมุม) เช่นกระเบื้องที่มีเพื่อนบ้าน E อาจเป็น NE, …

6
วาดรูปหกเหลี่ยม ASCII ศูนย์กลาง
เขียนโปรแกรมสั้นที่สุดเท่าที่จะเป็นไปได้ในชุดของจำนวนเต็มบวกและเอาท์พุทการเรนเดอร์ ASCII แบบรวมศูนย์ hexagonsด้วยความยาวด้านเหล่านั้นทำจากสแลชขีดล่างช่องว่างและการขึ้นบรรทัดใหม่ โปรแกรมที่สั้นที่สุดในหน่วยไบต์จะถูกนับโดยhttps://mothereff.in/byte-counterชนะ ตัวอย่าง (ดูดีขึ้นโดยเว้นระยะบรรทัดน้อยลง) หากอินพุตคือ1เอาต์พุตควรเป็นรูปหกเหลี่ยมที่มีความยาวด้าน 1: __ / \ \__/ โปรดสังเกตว่าขีดล่างสองอันใช้สำหรับด้านบนและด้านล่างของรูปหกเหลี่ยมเพื่อให้มีสัดส่วนที่ดีกว่า โดยทั่วไปขนาด N หกเหลี่ยมมี N slashes ในแต่ละมุมและ 2 * N ขีดล่างทั้งด้านบนและด้านล่าง หากอินพุตคือ1 2ผลลัพธ์ควรเป็น hexagons ศูนย์กลางที่มีความยาวด้าน 1 และ 2: ____ / __ \ / / \ \ \ \__/ / \____/ หากอินพุตเป็น1 3เอาต์พุตควรเป็น: ______ / \ / __ …

4
ตัวเลขในลูกโซ่
จำนวนเต็มบวกบางตัวสามารถแสดงได้ว่ามีคุณสมบัติที่เรียกว่าการแบ่งแยกแบบลูกโซ่ เพื่อให้ตัวเลขหารด้วยห่วงโซ่โดย nจะต้องตอบสนองความต้องการสามประการ: แต่ละหลักหารตัวเลขที่เกิดขึ้นจาก ตัวเลขnที่ตามมา ตัวอย่างเช่นจำนวน 7143 เป็นห่วงโซ่หารด้วย 2 เพราะ 7 หาร 14 และ 1 หาร 43 มันไม่ใช่ห่วงโซ่หารด้วย 3 เพราะ 7 ไม่หาร 143 แต่ละองค์ประกอบที่คำนึงถึงการหารต้องไม่มีเลขศูนย์นำหน้า ตัวอย่างเช่นหมายเลข 14208 นั้นไม่สามารถแบ่งย่อยได้ด้วย 2 เพราะ 08 เป็นศูนย์นำหน้า อย่างไรก็ตามเป็นห่วงโซ่ที่หารด้วย 3 ได้เพราะ 208 ไม่มีศูนย์นำหน้า ตัวเลขทั้งหมดในหมายเลขต้องไม่ซ้ำกัน ตัวอย่างเช่นจำนวน 14280 เป็นห่วงโซ่หารด้วย 2, 3 และ 4 หากคำอธิบายของฉันเกี่ยวกับการแบ่งแยกห่วงโซ่ไม่ชัดเจนโปรดถามคำถามในความคิดเห็น อินพุต อินพุตไปยังโปรแกรมประกอบด้วยเลขจำนวนเต็มเดียวnตามด้วยช่องว่างจากนั้นตัวเลขที่มีตัวเลขที่แน่นอนแทนที่ด้วยเครื่องหมายขีดล่าง ตัวอย่างเช่นต่อไปนี้เป็นอินพุตที่เป็นไปได้: 3 6__2__4508 …
15 code-golf  math 

5
สถาปนิก ASCII
คุณไม่ต้องการจ่ายเงินสำหรับโครงการสถาปัตยกรรมที่มีราคาแพงดังนั้นคุณจึงตัดสินใจที่จะทำธุรกิจของคุณเอง คุณตัดสินใจที่จะใช้ ASCII เพื่อออกแบบอาคารของคุณ โปรแกรมของคุณจะใช้รูปแบบสตริงเดียวในรูปแบบเฉพาะและโปรแกรมจะสร้างสิ่งปลูกสร้าง อินพุต อินพุตประกอบด้วยอักขระบรรทัดเดียว สามารถสันนิษฐานได้ว่ามีเพียงตัวอักษรa-jตัวเลข1-9และสัญลักษณ์-และ+และ คำอธิบายผลลัพธ์ สำหรับแต่ละตัวอักษรa-jโปรแกรมจะแสดงผลเป็นเส้นแนวตั้งดังนี้ เราจะเรียกมันว่าคอลัมน์ . .. ... **** ***** ****** ------- -------- +++++++++ ++++++++++ abcdefghij ตัวอย่างเช่นอินพุตabcdefgfedefghgfedcจะเอาต์พุต: . * *** *** ***** ***** ******* --------------- ----------------- ++++++++++++++++++ +++++++++++++++++++ ตัวอักษรอาจจะนำหน้าด้วยจำนวนเต็มบวกnซึ่งจะเพิ่มnตัวอักษรช่องว่างด้านล่างคอลัมน์ เราจะเรียกสิ่งนี้ว่าสิ่งชดเชย ตัวอย่างเช่นการใช้Sเพื่อระบุช่องว่างอินพุต3b2b3bจะเอาต์พุต: + + +++ S+S SSS SSS ตัวอักษรอาจจะนำหน้าด้วยจำนวนเต็มลบ-mซึ่งจะลบตัวอักษรที่m ไม่ใช่ช่องว่างด้านล่างของคอลัมน์ (ไม่แทนที่ด้วยช่องว่างลบออกทั้งหมด) เราจะเรียกสิ่งนี้ว่า ตัวอย่างเช่นอินพุต-1j-2j-3j-4j-5j-6j-7j-8jจะเอาต์พุต: . .. …

16
หมายเลขนั้นใน Shortlex คืออะไร
คอมพิวเตอร์ส่วนใหญ่เก็บจำนวนเต็มเป็นเลขฐานสอง แต่ส่งออกเป็นทศนิยม อย่างไรก็ตามทศนิยมเป็นเพียงตัวแทนเดียวเราเพิ่งพบว่าสะดวก ความท้าทายนี้คือการเขียนโค้ดบางส่วนเพื่อส่งออกค่าจำนวนเต็ม ทศนิยมแบบสั้น นั่นอะไร? http://en.wikipedia.org/wiki/Shortlex_order Shortlex ใช้ความยาวของลำดับของตัวเลขเป็นตัวบ่งชี้หลักของค่า ลำดับเริ่มต้นจากสตริงว่างแทนศูนย์คือ ... ε,0,1,...,8,9,00,01,...98,99,000,001,...,998,999,0000,... (คิดถึงคอลัมน์ Excel แต่ใช้เฉพาะเลขทศนิยมเท่านั้น) เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มและคืนค่าสตริงที่สอดคล้องกับการแทนค่าทศนิยมสั้น ๆ ของจำนวนเต็มนั้นตามที่อธิบายไว้ข้างต้น ค่าทดสอบ: 0 → "" (สตริงว่าง) 1 → "0" 10 → "9" 11 → "00" 42 → "31" 100 → "89" 800 → "689" 1060 → "949" 10270 → "9159" 100501 → "89390"
15 code-golf  number 

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