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

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

30
อดทนหนุ่ม“ Padovan”
ทุกคนรู้ลำดับของฟีโบนักชี: คุณเอารูปสี่เหลี่ยมมาแนบรูปสี่เหลี่ยมที่เท่ากันแล้วแนบรูปสี่เหลี่ยมซ้ำไปซ้ำมาโดยที่ความยาวด้านเท่ากับความยาวด้านที่ใหญ่ที่สุดของสี่เหลี่ยมที่เกิด ผลลัพธ์คือเกลียวที่สวยงามของสี่เหลี่ยมที่มีลำดับของตัวเลขคือลำดับ Fibonacci : แต่ถ้าเราไม่ต้องการใช้กำลังสองล่ะ? หากเราใช้รูปสามเหลี่ยมด้านเท่า - แทนที่จะเป็นรูปสี่เหลี่ยม - ในรูปแบบที่คล้ายคลึงกันเราจะได้รูปสามเหลี่ยมที่สวยงามเท่า ๆ กันและลำดับใหม่: ลำดับของPadovanหรือที่รู้จักกันในชื่อA000931 : งาน: ได้รับจำนวนเต็มบวกNNNเอาท์พุทNที่ยังไม่มีคำ TH ในลำดับ Padovan หรือแรกไม่มีเงื่อนไขaNaNa_NNNNNNN สมมติว่าสามข้อแรกของลำดับที่มีทั้งหมด1111ดังนั้นลำดับจะเริ่มต้นดังต่อไปนี้: 1,1,1,2,2,3,...1,1,1,2,2,3,... 1,1,1,2,2,3,... การป้อนข้อมูล: จำนวนเต็มบวกใด ๆN≥0N≥0N\ge0 ไม่จำเป็นต้องนำเข้าข้อมูลที่ไม่ถูกต้อง เอาท์พุท: คำที่NNNในลำดับ Padovan หรือNNNคำแรกของลำดับ Padovan ถ้าคนแรกNNNเงื่อนไขจะถูกพิมพ์ออกการส่งออกสามารถสิ่งที่เป็นความสะดวกสบาย (รายการ / อาร์เรย์สตริงหลายคู่สาย ฯลฯ ) สามารถเป็น000 -exexed หรือ111 -exexed กรณีทดสอบ: (ดัชนี 0, ระยะNNN ) Input | …

25
บรรณาการให้สแตนลี
น่าเสียดายที่หนึ่งในนักเขียนหนังสือการ์ตูนที่ยิ่งใหญ่ที่สุดเสียชีวิตเมื่อบ่ายวานนี้ ดาราฮอลลีวูด, นักดนตรี, นักแสดงและคนอื่น ๆ จำนวนมากกำลังจ่ายส่วยให้นักเขียนที่ยอดเยี่ยมนี้ดังนั้นเราต้องทำอะไรบางอย่างเช่นกัน ท้าทาย พิมพ์โลโก้ The Avengers หมายเหตุ: คุณสามารถใช้อักขระอื่นแทนที่ # อื่นนอกเหนือจากอักขระเว้นวรรค ในขณะที่คุณต้องใช้อักขระช่องว่างสำหรับช่องว่าง ใน ASCII-art ###### ############### ##### ########## #### ####### #### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### ########### …

30
เชื่อมต่อ n กับ n + 1
บทนำ ลำดับ OEIS A127421คือลำดับของตัวเลขที่การขยายทศนิยมคือการต่อกันของตัวเลขที่ไม่ใช่ลบเพิ่มขึ้น 2 ครั้งติดต่อกัน ใส่เพียงตัวเลขในลำดับทุกคนจะเกิดขึ้นจากการร่วมกันวางnกับ1 + nสำหรับบางคนที่ไม่ใช่เชิงลบจำนวนเต็มค่าของn หลายคำแรกคือ: 1, 12, 23, 34, 45, 56, 67, 78, 89, 910, 1011, 1112, 1213, 1314, 1415, 1516, 1617, 1718, 1819, 1920, 2021, 2222, 2324, 2425, 2526, 2627, 2728, 2829, 2930, 3031, 3132, 3233, 3334, 3436, 3536, 3637, 3738, 3738, 3839, 3940, …

30
การใช้สแต็ก
ฉันไม่อยากจะเชื่อเลยว่าเราไม่มีสิ่งนี้อยู่แล้ว .. มันเป็นหนึ่งในโครงสร้างข้อมูลที่สำคัญที่สุดในการเขียนโปรแกรม แต่ก็ยังง่ายพอที่จะนำไปใช้ในcode-golf : ท้าทาย งานของคุณคือการใช้สแต็กที่อนุญาตให้มีการกดและ popping ตัวเลขทดสอบการใช้งานและทำให้ I / O ง่ายเราจะใช้การตั้งค่าต่อไปนี้: ข้อมูลที่ป้อนจะเป็นรายการจำนวนเต็มที่ไม่เป็นลบ ทุกจำนวนเต็มบวกบ่งชี้และทุกบ่งชี้ว่า - ทิ้งองค์ประกอบด้านบนpush ( n ) 0 ป๊อป ()nnnดัน ( n )push(n)\texttt{push(}n\texttt{)}000ป๊อปอัพ ()pop()\texttt{pop()} เอาต์พุตจะเป็นสแต็กที่เกิดขึ้น ตัวอย่าง ตัวอย่างเช่นถ้าเราได้รับ :[ 12 , 3 , 0 , 101 , 11 , 1 , 0 , 0 , 14 , 0 …

30
รวมสองค่า
คุณมีสองค่าแต่ละแห่งซึ่งเป็นทั้ง0ตัวแทน "ไม่ทราบ" 1,2,3หรือหนึ่งใน รวมพวกเขาเป็นค่าเดียวดังนี้: ถ้าทั้งสองค่าไม่ใช่ศูนย์และเท่ากันให้เอาท์พุทค่านั้น: (3,3) -> 3 ถ้าทั้งสองค่าไม่ใช่ศูนย์ แต่ไม่เท่ากันเอาท์พุท 0 สำหรับไม่ทราบ: (1,2) -> 0 หากค่าหนึ่งเป็นศูนย์และค่าอื่นไม่ใช่ให้ส่งออกค่าที่ไม่ใช่ศูนย์: (2,0) -> 2, (0,1) -> 1 หากทั้งสองค่าเป็นศูนย์เอาท์พุทเป็นศูนย์: (0,0) -> 0 กรณีทดสอบ: มีอินพุตที่เป็นไปได้ 16 คู่ | 0 1 2 3 --+-------- 0 | 0 1 2 3 1 | 1 1 0 0 2 | …
44 code-golf 

22
กบสำคัญ🐸
"กบตัวเต็มวัย" เป็นสัตว์ประหลาดที่กระโดดข้ามจำนวนเต็มจนกระทั่งมันมาถึง 3 หรือ 19 ... โปรแกรมของคุณควรยอมรับจำนวนเต็มnเป็นอินพุตและเอาต์พุตผลลัพธ์ของอัลกอริทึมด้านล่าง ( 3หรือ19) สำหรับจำนวนเต็มที่กำหนดn >= 2: อนุญาตfเป็นตำแหน่งของกบ มันถูกตั้งค่าเริ่มต้นเป็นn ถ้าf = 3หรือf = 19: กบกระโดดหยุด - fหยุดโปรแกรมและการส่งออก ถ้าfเป็นสำคัญ: 2×f-1กบกระโดดไปยังตำแหน่งที่ กลับไปที่ขั้นตอนที่ 2 ถ้าfคอมโพสิต: ขอdเป็นfตัวหารที่ใหญ่ที่สุด f-dกบกระโดดไปยังตำแหน่งที่ กลับไปที่ขั้นตอนที่ 2 ตัวอย่าง: ตัวอย่างด้วยn = 5: 5 > 9 > 6 > 3 stop 3โปรแกรมควรเอาท์พุท อีกตัวอย่างด้วยn = 23: 23 > 45 …

16
ใช้“ Lazy Sort”
ฉันควรจะเรียงลำดับรายการตัวเลข แต่ฉันขี้เกียจสุด ๆ เป็นเรื่องยากมากที่จะหาวิธีสลับตัวเลขทั้งหมดที่อยู่ในลำดับที่เพิ่มขึ้นดังนั้นฉันจึงใช้อัลกอริทึมของตัวเองที่จะรับประกันว่ารายการใหม่จะถูกจัดเรียง¹ นี่คือวิธีการทำงาน: สำหรับรายการขนาดNเราจะต้องมีการทำซ้ำN-1 ในแต่ละรอบซ้ำ ตรวจสอบว่าหมายเลข N'th นั้นเล็กกว่าN + 1'thหรือไม่ หากเป็นเช่นนั้นตัวเลขทั้งสองนี้จะถูกจัดเรียงไว้แล้วและเราสามารถข้ามการทำซ้ำได้ หากไม่ใช่คุณจำเป็นต้องลดจำนวนNหมายเลขแรกอย่างต่อเนื่องจนกว่าตัวเลขทั้งสองนี้จะเป็นไปตามลำดับ ลองยกตัวอย่างที่เป็นรูปธรรม สมมติว่าอินพุตเป็น 10 5 7 6 1 ในการคำนวณซ้ำครั้งแรกเราจะเปรียบเทียบ 10 และ 5 10 มากกว่า 5 ดังนั้นเราจะลดมันจนกว่ามันจะเล็กกว่า: 4 5 7 6 1 ตอนนี้เราเปรียบเทียบ 5 กับ 7. 5 น้อยกว่า 7 ดังนั้นเราไม่จำเป็นต้องทำอะไรเลยในการทำซ้ำนี้ ดังนั้นเราไปต่อไปและเปรียบเทียบ 7 และ 6 7 มีขนาดใหญ่กว่า 6 ดังนั้นเราจึงลดตัวเลขสามตัวแรกจนกระทั่งมันเล็กกว่า …

19
พิมพ์ตัวอักษร - เร็วที่สุดเท่าที่จะทำได้!
งานของคุณคือการสร้างโปรแกรมที่วัดความเร็วที่คุณสามารถพิมพ์ตัวอักษรของตัวอักษรภาษาอังกฤษ โปรแกรมที่จะยอมรับเฉพาะอักษรตัวพิมพ์เล็กaไปzตามลำดับตัวอักษร ตัวอักษรแต่ละตัวถูก echoed ตามที่พิมพ์ในบรรทัดเดียวกัน (ไม่มีบรรทัดใหม่หรือตัวคั่นอื่นใดระหว่างตัวอักษร) หากคุณพิมพ์อักขระที่ไม่ถูกต้องโปรแกรมจะแสดงผลFail บนบรรทัดใหม่และออก หากคุณพิมพ์ตัวอักษรทั้งหมด 26 ตัวโปรแกรมจะขึ้นบรรทัดใหม่เอาท์พุทเวลาเป็นมิลลิวินาทีที่ใช้ตั้งแต่อักษรตัวแรกถึงตัวอักษรสุดท้ายและออก aจับเวลาเริ่มต้นเมื่อคุณพิมพ์อักษรตัวแรก ตัวอย่างผลลัพธ์: b Fail abcdefgg Fail abcdefghijklmnopqrstuvwxyz 6440 นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

12
คำเบียดเสียดในขณะที่รักษาโครงร่างของพวกเขา
นี่คือขั้นสูงกว่าวิธีการสุ่มตัวอักษรในคำและการขนย้าย Cambridgeเนื่องจากกฎเกี่ยวกับตัวอักษรที่อาจสลับกับที่ regex ง่าย ๆ จะไม่เพียงพอที่นี่ เป็นที่ทราบกันดีว่าข้อความยังคงสามารถอ่านได้ในขณะที่คำในประโยคถูกกวนใจตราบใดที่ตัวอักษรตัวแรกและตัวสุดท้ายรวมถึงโครงร่างโดยรวมยังคงไม่เปลี่ยนแปลง รับ Ascii + Newline text ที่พิมพ์ได้, แย่งแต่ละคำตามกฎเหล่านี้: Scrambling ต้องสุ่ม (หลอก) คำคือลำดับของอักขระละติน A ถึง Z ตัวอักษรเริ่มต้นเท่านั้นที่จะเป็นตัวพิมพ์ใหญ่ ตัวอักษรตัวแรกและตัวสุดท้ายจะต้องไม่ถูกแตะต้อง เมื่อมีการทะเลาะกันมีเพียงตัวอักษรภายในกลุ่มใดกลุ่มหนึ่งต่อไปนี้เท่านั้นที่สามารถแลกเปลี่ยนสถานที่: acemnorsuvwxz bdfhkl gpqy it j (อยู่ในสถานที่) ตัวอย่าง Srcmable wrods ในขณะที่ psrrnveieg oeiltnus เป็นที่ทราบกันดีว่า txet ยังคงสามารถอ่านได้ในขณะที่ inrands ของ wrods ของมันถูก srcambled ตราบใดที่ fisrt และตัวอักษรสุดท้ายของพวกเขารวมทั้ง ovaerll ontliues raemin …

30
ถ้า AB อยู่ใน AB A อื่น B ​​ใช่มั้ย
รับจำนวนเต็มสองจำนวนคือ A และ B เอาต์พุต A ถ้า AB (A ลบ B) อยู่ใน AB (A ถึง B) หรือเอาท์พุท B "A B ลบ" คือการลบมาตรฐาน "A ถึง B" คือช่วงของจำนวนเต็มเริ่มต้นที่ A และสิ้นสุดที่ B รวมถึงทั้ง A และ B ตัวอย่างเช่น: 1 to 4: 1, 2, 3, 4 -2 to 5: -2, -1, 0, 1, 2, 3, …

30
คำนี้สั่งอย่างย่อหรือไม่
รับสตริงอินพุต S ส่งคืนtruthyถ้าตัวอักษรทั้งหมดใน S ถูกเรียงลำดับอย่างย่อ: ค่า ASCII ของพวกเขาต้องอยู่ในลำดับจากน้อยไปหามากหรือจากมากไปหาน้อย ส่งคืนfalsyในกรณีอื่น อินพุต อินพุตจะอยู่ในกรณีเดียวกัน (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กทั้งหมด) การส่งของคุณควรจะสามารถจัดการได้ทั้งสองอย่าง ข้อมูลที่ป้อนจะประกอบด้วย ASCII ในช่วง[A-Za-z]เท่านั้น ความยาวของอินพุตจะต้องมีอย่างน้อย 1 ขึ้นอยู่กับภาษาของคุณที่รองรับได้สูงสุด อินพุตเป็นสตริง - ไม่ใช่รายการอักขระไม่ใช่อาร์เรย์ของ ASCII-codepoints เอาท์พุต เอาต์พุตควรเป็นtrueหรือfalse, หรือ0/1, หรือtrue / falseเอาท์พุทสไตล์ที่แตกต่างอื่น ๆ ที่ภาษาของคุณสามารถให้ เคสจริงทั้งหมดต้องมีเอาต์พุตเหมือนกันรวมถึงเคสเท็จทั้งหมด ไม่มี "เท็จเป็น 0 จริงคือ 1, 2 หรือ 3" กฎเพิ่มเติม ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม คำตอบจะต้องเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบไม่ใช่ตัวอย่างหรือรายการ REPL code-golfคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ กรณีทดสอบ Truthy "ABCDEF" "ZYX" "no" …

30
แฮ็คเข้าลอตเตอรี
เมื่อเร็ว ๆ นี้คุณได้สร้างบัญชีในเว็บไซต์พนันซึ่งมีค่าธรรมเนียม 25 ดอลลาร์พวกเขาจะจ่ายเงินคืนให้คุณระหว่าง 0 ถึง 50 ดอลลาร์ หลังจากได้รับประมาณ 5 ดอลลาร์สองครั้งคุณตัดสินใจที่จะพิสูจน์ว่าไซต์นั้นเป็นการหลอกลวง หลังจากเข้าถึงไฟร์วอลล์ภายนอกด้วยรหัสผ่านเริ่มต้นคุณจะพบวิธีเข้าสู่เซิร์ฟเวอร์ฐานข้อมูลและค้นหาว่าจะเก็บค่าจำนวนเงินขั้นต่ำและจำนวนสูงสุดไว้ที่ใด คุณตัดสินใจที่จะเสียบ 25 '9 เป็นค่าสูงสุด แต่ได้รับข้อความแสดงข้อผิดพลาดว่าค่าสูงสุดต้องเป็นประเภท' uint64 ' อย่างไรก็ตามในตอนนี้คุณสังเกตเห็นว่าปุ่มตัวเลขบางตัวดูเหมือนจะพิมพ์ลงในรีโมทคอนโทรลไม่ถูกต้อง ความท้าทายจะปรากฏขึ้นก่อนที่คุณจะพิมพ์ราวกับว่าอยู่ในไซต์ Q + A ใช้เฉพาะโปรแกรมที่ติดตั้งอย่างสะดวกสำหรับการทดสอบและการใช้ภาษาเฉพาะของคุณเอาท์พุทขนาดสูงสุดของค่าจำนวนเต็มแบบ 64 บิตที่ไม่ได้ลงนามอย่างไรก็ตามเกือบทุกอย่างยกเว้นเครื่องมือการเขียนโปรแกรมจะเสียบนเครื่องนี้ทำให้คุณไม่ต้องใช้หมายเลข 1 2,4,6,8 - ในซอร์สโค้ดหรือตัวอักษรคุณอาจสังเกตว่าดูเหมือนว่าจะใช้เวลานานกว่าในการดำเนินการโปรแกรมสำหรับโค้ดเพิ่มเติมแต่ละชิ้น ต้องการรวยก่อนวาด! ความท้าทาย เขียนโปรแกรมที่เอาต์พุต 18446744073709551615 ซึ่งเป็นค่าสูงสุดของจำนวนเต็ม 64 บิตที่ไม่ได้ลงนามเป็นตัวเลขหรือสตริงเดียว ซอร์สโค้ดของคุณต้องไม่มีอักขระ '1', '2', '4', '6' หรือ '8' หากภาษาของคุณไม่มีจำนวนเต็ม 64 บิตหรือเทียบเท่าที่ไม่ได้ลงนามเอาต์พุตอาจอยู่ในรูปแบบสตริงหรืออื่น ๆ …

30
มันคือ Hip ที่จะเป็น Square
ท้าทาย ดังนั้นอืมดูเหมือนว่าในขณะที่เรามีความท้าทายมากมายที่ทำงานกับรูปสี่เหลี่ยมจตุรัสหรือตัวเลขของรูปทรงอื่น ๆ เราไม่มีสิ่งที่ถาม: รับจำนวนเต็มn(ที่ไหนn>=0) เป็นอินพุตส่งกลับค่าความจริงหากnเป็นตารางที่สมบูรณ์แบบหรือค่าเท็จถ้าไม่ กฎระเบียบ คุณสามารถป้อนข้อมูลด้วยวิธีการที่เหมาะสมและสะดวกสบายใด ๆ ตราบเท่าที่มันได้รับอนุญาตตามกฎ I / Oมาตรฐาน คุณไม่จำเป็นต้องจัดการอินพุตมากกว่าภาษาที่คุณเลือกสามารถจัดการได้อย่างเป็นธรรมชาติและจะนำไปสู่ความไม่ถูกต้องของจุดลอยตัว เอาท์พุทควรจะเป็นหนึ่งในสอง truthy สอดคล้อง / ค่า falsey (เช่นtrueหรือfalse, 1หรือ0) - truthy ถ้าใส่เป็นตารางที่สมบูรณ์, falsey หากยังไม่ได้ นี่คือcode-golfดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ กรณีทดสอบ Input: 0 Output: true Input: 1 Output: true Input: 64 Output: true Input: 88 Output: false Input: 2147483647 Output: false

25
จัดเรียงอาร์เรย์อย่างรุนแรง
ท้าทาย รับอาร์เรย์ของจำนวนเต็มที่ไม่ว่างเปล่าเช่น: [5, 2, 7, 6, 4, 1, 3] ก่อนอื่นให้แบ่งเป็นอาร์เรย์โดยที่ไม่มีรายการใดใหญ่ไปกว่าอาร์เรย์ก่อนหน้า (เช่นอาร์เรย์ที่ไม่ได้เรียงจากน้อยไปมาก) [5, 2] [7, 6, 4, 1] [3] ถัดไปย้อนกลับแต่ละอาร์เรย์: [2, 5] [1, 4, 6, 7] [3] สุดท้ายเชื่อมพวกมันเข้าด้วยกัน: [2, 5, 1, 4, 6, 7, 3] นี่คือสิ่งที่โปรแกรมของคุณส่งออก / ฟังก์ชั่นกลับมา ทำซ้ำขั้นตอนนี้เพียงพอเวลาและอาร์เรย์จะเรียงลำดับอย่างสมบูรณ์ กฎระเบียบ อินพุตและเอาต์พุตอาจได้รับผ่านวิธีการมาตรฐานและอาจอยู่ในรูปแบบอาเรย์ที่เหมาะสม อาร์เรย์อินพุตจะไม่ว่างเปล่า แต่อาจมีเชิงลบและ / หรือซ้ำกัน ค่าสัมบูรณ์ของแต่ละจำนวนเต็มจะเป็นน้อยกว่า 2 วันที่ 31 กรณีทดสอบ หวังว่าสิ่งเหล่านี้จะครอบคลุมกรณีขอบทั้งหมด: …

30
จำนวนเต็มเอาต์พุตตามลำดับลบเพิ่มจำนวนเต็มสูงสุดทุกครั้ง
งานหลัก งานของคุณคือการพิมพ์จำนวนเต็มตามลำดับจากมากไปน้อยเริ่มจาก 1 และเพิ่มตามที่คุณกดปุ่ม 1 อีกครั้งจนกระทั่งถึงอินพุตที่กำหนดจากนั้นพิมพ์ส่วนที่เหลือจนกว่าคุณจะกด 1 อีกครั้ง ตัวอย่างที่มีการป้อนข้อมูล6: 1 21 321 4321 54321 654321 Without newlines (valid output): 121321432154321654321 หมายเหตุด้านข้าง: นี่คือA004736ใน OEIS นอกจากนี้ตัวอย่างแรก (พร้อมการขึ้นบรรทัดใหม่) เป็นผลลัพธ์ที่ไม่ถูกต้องตามที่ระบุในกฎ อินพุต รหัสของคุณอาจใช้การป้อนข้อมูลใด ๆ (กราฟิก, STDIN) ในรูปแบบของจำนวนเต็มหรือตัวเลข เอาท์พุต รหัสของคุณควรส่งออกตามลำดับที่อธิบายไว้ข้างต้นจนกระทั่งถึงหมายเลขอินพุทแล้วจึงส่งออกจนครบ 1 อีกครั้ง เอาท์พุทอาจเป็นอะไรก็ได้ดังนั้นตัวเลข, สตริง, จำนวนเต็มหรือเอาท์พุทกราฟิก จำเป็นต้องพิมพ์หมายเลขเดียว (ไม่มีการขึ้นบรรทัดใหม่หากเป็นสตริง) เอาต์พุตของคุณสามารถเข้าและออกด้วยอักขระได้มากเท่าที่คุณต้องการ (เช่น[]) เนื่องจากมีความเข้าใจผิดบางส่วนนี่เป็นรูปแบบ regex ที่คุณสามารถลองใช้กับผลลัพธ์ได้ ^(\D*(\d)+\D*)$ กฎระเบียบ ผลลัพธ์จะต้องเป็นตัวเลขเต็มไม่แยกจากสิ่งใดแม้แต่บรรทัดใหม่ อัลกอริทึมไม่ควรตรวจสอบอินสแตนซ์แรกของ …

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