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

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

29
ผลรวมการหมุน
ใช้เมทริกซ์จตุรัสที่มีจำนวนเต็มบวกเป็นอินพุตและคำนวณ "ผลรวมการหมุน" ของเมทริกซ์ ผลรวมการหมุน: หาผลรวมของเมทริกซ์ดั้งเดิมและเมทริกซ์เดียวกันหมุน 90, 180 และ 270 องศา สมมติว่าเมทริกซ์คือ: 2 5 8 3 12 8 6 6 10 จากนั้นผลรวมการหมุนจะเป็น: 2 5 8 8 8 10 10 6 6 6 3 2 3 12 8 + 5 12 6 + 8 12 3 + 6 12 5 = 6 …

30
เป็นจำนวนเต็มหรือไม่
ตัวเลขเป็นจำนวนเต็มถ้าไม่ใช่จำนวนเต็มลบโดยไม่มีส่วนทศนิยม ดังนั้น0และ8และ233494.0มีทั้งในขณะที่1.1และ0.001และ233494.999ไม่ได้ อินพุต หมายเลขเลขทศนิยมในฐาน / การเข้ารหัสภาษาเริ่มต้นของคุณ ยกตัวอย่างเช่นการเป็นตัวแทนจำนวนเต็มเริ่มต้นสำหรับไบนารีแลมบ์ดาแคลคูลัสจะเป็นเลขคริสตจักร แต่การแสดงจำนวนเต็มเริ่มต้นสำหรับงูหลามเป็นฐาน 10 ทศนิยมไม่เอก เอาท์พุต truthyค่าถ้าใส่เป็นทั้งเป็นfalsyค่าถ้ามันไม่ได้ โปรดทราบว่าหากภาษาของคุณรองรับเฉพาะความแม่นยำทศนิยมให้พูดว่า 8 แห่ง1.000000002ถือว่าเป็นทั้ง อินพุตและเอาต์พุตสามารถทำได้ผ่านวิธีการI / O มาตรฐานใดๆ กรณีทดสอบ Input -> Output 332 -> true 33.2 -> false 128239847 -> true 0.128239847 -> false 0 -> true 0.000000000 -> true 1.111111111 -> false -3.1415926 -> false -3 -> false …

15
МногочленыЧебышёва (Chebyshev Polynomials)
Chebyshev Polynomialsเป็นชื่อพหุนาม orthogonal ที่ปรากฏขึ้นในสถานที่ทุกประเภทในวิชาคณิตศาสตร์และพวกเขามีคุณสมบัติที่น่าสนใจมากมาย หนึ่งในตัวละครของพวกเขาก็คือพวกเขาจะมีหลายชื่อที่ไม่ซ้ำกันที่ตอบสนองTn(cos(x)) = cos(n*x) ท้าทาย ด้วยจำนวนเต็มที่ไม่ใช่ค่าลบnคุณควรส่งออกn-th Chebyshev Polynomial .Tn(x) คำนิยาม n-th เซฟพหุนามจะได้รับจากสามต่อไปนี้เรียกซ้ำระยะ: T0(x) = 1 T1(x) = x Tn+1(x) = 2*x*Tn(x) - Tn-1(x) รายละเอียด ถ้าภาษาของคุณมีพหุนามแบบดั้งเดิมคุณสามารถใช้อันนั้นเป็นเอาท์พุทมิฉะนั้นคุณควรแสดงรายการของสัมประสิทธิ์ตามลำดับจากน้อยไปหามากหรือจากมากไปหาน้อยหรือเป็นสตริงที่แสดงพหุนาม ตัวอย่าง T0(x) = 1 T1(x) = x T2(x) = 2x^2 - 1 T3(x) = 4x^3 - 3 x T4(x) = 8x^4 - …

8
ที่ไหนสักแห่งในหลอด ... แต่บนเส้นไหน
รถไฟใต้ดินลอนดอน AKA หลอดเป็นรถไฟใต้ดินที่เก่าแก่ที่สุดในโลกขณะนี้ประกอบด้วยสิบเอ็ดสาย * บริการ 267 ชื่อสถานี (อย่างเคร่งครัด 269 สถานี ** ตั้งแต่ "Edgware Road" และ "แฮมเมอร์" แต่ละครอบครองสองสถานที่) ความท้าทาย เอาต์พุตชื่อของบรรทัดที่ให้บริการสถานีที่กำหนดโดยชื่อเป็นอินพุต อินพุต: สตริงหรือรายการอักขระ นี่อาจถือว่าเป็นชื่อสถานีที่ถูกต้อง (ตามที่ระบุไว้ในรหัสบล็อกด้านล่าง) คุณอาจสันนิษฐานว่าข้อมูลใด ๆ&ในอินพุตจะเป็นคำ(หรือ) อย่างสม่ำเสมอหากคุณต้องการเพียงแค่ระบุไว้อย่างชัดเจนในคำตอบของคุณandAnd เอาท์พุท: เอาท์พุท แยกรายการของสายสิบเอ็ดให้บริการสถานีที่: รายการสตริงรายการรายการอักขระข้อความที่พิมพ์สตริงรายการของอักขระ หากมีข้อสงสัยให้ถาม คุณอาจเอาท์พุทคำ(หรือ) อย่างต่อเนื่องแทนหากคุณต้องการเพียงแค่ระบุคำตอบของคุณandAnd& ด้วยข้อแม้ที่ว่าหากพิมพ์หรือส่งคืนสตริงหรือรายการของอักขระที่ตัวคั่น - ซับสตริงที่ใช้ไม่ปรากฏในชื่อบรรทัดใด ๆ (รวมถึง&หรือandหรือAndใช้) - สิ่งนี้จึงแยกการใช้อักขระช่องว่างเดียวเป็นตัวคั่น . The Tube Network : - หมายเหตุ: นี่เป็นสถานะสุดท้ายแม้ว่าจะมีการสะกดผิด (เว้นแต่จะได้รับคำตอบก่อนที่จะตอบคำถามใด ๆ …

3
เครื่องทำถั่วที่มีความหมายและผอม
ตัวอย่างคลาสสิกที่จะแนะนำคนกับแนวคิดของการกระจายความน่าจะเป็นที่ไม่ต่อเนื่องเป็นเครื่องถั่ว เครื่องนี้มีลูกหินจำนวนมากตกลงมาจากทางเดินแคบ ๆ ที่ด้านบนหลังจากนั้นพวกเขาก็ตีพินอินเทอร์เลซเป็นแถวซึ่งในแต่ละครั้งที่หินอ่อนพุ่งชนมันอาจตกไปทางซ้ายหรือทางขวาของพิน ในที่สุดหมุดจะถูกรวบรวมในถังขยะแนวตั้งที่ด้านล่างของเครื่อง แผนภาพง่าย ๆ ของเครื่องนี้มีลักษณะดังนี้: | O | | ^ | | ^ ^ | | ^ ^ ^ | | ^ ^ ^ ^ | | ^ ^ ^ ^ ^ | |_|_|_|_|_|_| ในแผนภาพนี้Oหมายถึงตำแหน่งที่หินอ่อนตกลงมา แต่ละอัน^คือพินที่หินอ่อนมีโอกาส 50% ที่จะย้ายไปที่จตุรัสไม่ว่าจะทางซ้ายหรือทางขวาของพิน จากนั้นหินอ่อนจะรวมตัวกันที่ถังขยะที่ด้านล่างของอุปกรณ์และสำหรับหินอ่อนจำนวนมากพอความสูงของกองหินอ่อนในถังขยะจะมีลักษณะคล้ายกับการแจกแจงแบบทวินาม ท้าทาย สำหรับความท้าทายนี้คุณจะคำนวณการกระจายความน่าจะเป็นที่ได้รับของเครื่องทำถั่วตามแผนภาพดังกล่าวข้างต้น ไดอะแกรมถูกตีความว่าเป็น 'โปรแกรม' สองมิติที่หินอ่อนผ่านไปไม่ว่าจะทางด้านข้างหรือด้านล่างของเขตข้อมูลปัจจุบัน เมื่อลูกหินมาถึงด้านล่างของเครื่องพวกเขาจะถูกนับสำหรับการแจกแจงความน่าจะเป็น เพื่อให้มันน่าสนใจไดอะแกรมเหล่านี้จะมีฟิลด์เพิ่มเติมอีกสองสามรายการมากกว่าเพียงแค่แหล่งข้อมูลและพินที่เรียบง่าย แผนภาพตัวอย่างคือ: …

22
เป็นบอร์ด 2048 ที่ดีหรือไม่?
นี่เป็นคำถามแรกของฉันที่นี่ดังนั้นคำแนะนำใด ๆ ในความคิดเห็นจะได้รับการชื่นชม! ขอบคุณ;) บทนำ กลยุทธ์หนึ่งที่พบบ่อยมากสำหรับเกม 2048จะไม่เคยรูดลง ตำแหน่งนี้เป็นตัวเลขขนาดใหญ่ทั้งหมดที่ด้านบนและที่ต่ำกว่าในด้านล่าง ดังนั้นหากคุณใช้กลยุทธ์นี้อย่างถูกต้องบอร์ดของคุณจะตรงกับรูปแบบต่อไปนี้: รูปแบบการตรวจสอบ / งานของคุณ การส่งของคุณควรเป็นโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ส่งกลับค่าความจริงหากบอร์ดสามารถอธิบายได้ดังนี้: ลงไปในแต่ละคอลัมน์ของบอร์ดหมายเลขแรกควรสูงที่สุดของคอลัมน์จำนวนที่สองควรน้อยกว่า มากกว่าหรือเท่ากับจำนวนแรก ฯลฯกระดาน 2048 ที่ดีจะถูกกำหนดให้เป็นกระดานที่มีตัวเลขสูงสุดอยู่ด้านบน นี่คือโค้ดกอล์ฟดังนั้นรหัสที่สั้นที่สุดต่อภาษา (เป็นไบต์) จะชนะ I / O อินพุตสามารถถูกใช้ในวิธีที่เหมาะสมตัวอย่างเช่นอาร์เรย์ 4 อาร์เรย์แต่ละตัวมี 4 หมายเลขหรืออาร์เรย์ 16 ตัวเลข โดยรวมมันจะเป็นตัวเลข 16 เสมอแทน 4x4 บอร์ด เอาท์พุทควรเป็นค่าความจริงของอินพุตคือ "ดี 2048 บอร์ด" และค่าเท็จเป็นอย่างอื่น ตัวอย่าง Truthy: |-------------------| | 16 | | 64 | …

8
A083569: m ที่เล็กที่สุดที่ไม่ได้เกิดขึ้นก่อนหน้านี้ดังนั้น m + n จึงเป็นไพร์ม
กำหนดลำดับ 1 ที่จัดทำดัชนีดังนี้: A083569(1) = 1 A083569(n)โดยที่nเป็นจำนวนเต็มมากกว่า1นั้นเป็นจำนวนเต็มที่น้อยที่สุด m ที่ไม่เกิดขึ้นก่อนหน้าเช่นที่m+nเป็นจำนวนเฉพาะ งานของคุณคือการใช้เวลาในการและผลตอบแทนnA083569(n) n A083569(n) 1 1 2 3 3 2 4 7 5 6 6 5 7 4 8 9 9 8 10 13 11 12 12 11 13 10 14 15 15 14 16 21 17 20 18 19 19 18 …

22
มันเป็นนายกที่อ่อนแอหรือไม่?
ไพร์มนั้นอ่อนแอถ้าไพร์มที่ใกล้เคียงที่สุดนั้นเล็กกว่ามัน หากมีการผูกที่สำคัญไม่ได้อ่อนแอ ตัวอย่างเช่น73เป็นนายกที่อ่อนแอเพราะ71เป็นนายกรัฐมนตรี แต่75เป็นคอมโพสิต งาน เขียนรหัสคอมพิวเตอร์บางตัวที่ให้ค่านายกมากกว่า2เป็นค่าอินพุตจะเป็นตัวตัดสินว่ามันเป็นรหัสเฉพาะ นี่เป็นปัญหาการตัดสินใจมาตรฐานดังนั้นคุณควรส่งออกค่าที่ไม่ซ้ำกันสองค่าสำหรับแต่ละสองกรณี (เช่นweakและnot weak) นี่คือรหัสกอล์ฟเพื่อใช้กฎมาตรฐานสำหรับแท็ก OEIS นี่คือ 47 ช่วงเวลาที่อ่อนแอครั้งแรก: 3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, …

30
มันคือ semiprime หรือไม่?
น่าแปลกที่ฉันไม่คิดว่าเรามีคำถามเกี่ยวกับรหัสกอล์ฟเพื่อพิจารณาว่าตัวเลขนั้นเป็นครึ่งปีหรือไม่ semiprime เป็นจำนวนธรรมชาติที่เป็นผลคูณของจำนวนเฉพาะสองตัว (ไม่จำเป็นต้องแตกต่างกัน) เรียบง่าย แต่มีแนวคิดที่สำคัญอย่างน่าทึ่ง รับจำนวนเต็มบวกกำหนดว่าเป็น semiprime เอาต์พุตของคุณสามารถอยู่ในรูปแบบใดก็ได้ตราบใดที่ให้เอาต์พุตเดียวกันสำหรับค่าความจริงหรือเท็จ คุณอาจจะสมมติว่าข้อมูลที่คุณป้อนมีขนาดเล็กพอที่ประสิทธิภาพหรือล้นไม่ได้เป็นปัญหา กรณีทดสอบ: input -> output 1 -> false 2 -> false 3 -> false 4 -> true 6 -> true 8 -> false 30 -> false (5 * 3 * 2), note it must be EXACTLY 2 (non-distinct) primes 49 -> …

30
ตัวอักษรแนวทแยงมุมกับอินพุต
แรงบันดาลใจจากโพสต์นี้ สำหรับผู้ที่ทำเครื่องหมายคำถามนี้ว่าเป็นคำซ้ำฉันขอให้คุณอ่านคำถามเพื่อดูว่าของฉันเป็นการดัดแปลงของลิงค์ที่เชื่อมโยง หนึ่งที่เชื่อมโยงไม่ได้ขอให้ป้อนข้อมูลและเป็นเพียงพิมพ์ตัวอักษรแนวทแยงมุม ความท้าทาย กำหนดอินพุตระหว่าง 1-26 โดยรวมให้พิมพ์ตัวอักษรแนวทแยงมุม แต่เริ่มพิมพ์ในแนวตั้งที่ดัชนีของอินพุตที่กำหนด ตัวอย่าง รับอินพุต: 16 โปรแกรมของคุณควรส่งออก: a b c d e f g h i j k l m n o p q r s t u v w x y z การป้อนข้อมูล: 4 เอาท์พุท: a b c d e f g h i …

30
เหรียญยูโรและธนบัตร
เนื่องจากประเทศส่วนใหญ่ที่ใช้ยูโรมี ,ตัวคั่นทศนิยมคุณต้องใช้ด้วยเช่นกัน ภารกิจคือส่งออกค่าทั้งหมดของเหรียญยูโรและธนบัตรในลำดับจากน้อยไปหามาก คุณต้องใส่ส่วนท้าย,00ของค่าจำนวนเต็ม 0,01 0,02 0,05 0,10 0,20 0,50 1,00 2,00 5,00 10,00 20,00 50,00 100,00 200,00 500,00 ฉันยอมรับทั้งเอาต์พุตไปยัง stdout หรือฟังก์ชั่นที่ส่งคืนอาร์เรย์ / รายการ หากเอาต์พุตคือ stdout ตัวคั่นที่ยอมรับได้ระหว่างค่าคือ: space, tab หรือ newline จะไม่มีคำตอบที่ยอมรับเว้นแต่ฉันจะเห็นคนที่ฉันคิดว่าสร้างสรรค์มาก code-golfดังนั้นฉันต้องการรู้คำตอบสั้น ๆ ด้วยภาษา ปรับปรุง: 0ค่าศูนย์นำหน้าไม่เป็นที่ยอมรับ ขออภัยฉันควรทำให้ชัดเจนก่อน อัปเดต 2: นอกจากนี้ยังเป็นที่ยอมรับฟังก์ชั่นกลับสตริง

30
ความแตกต่างที่ N
ในคณิตศาสตร์วิธีหนึ่งที่จะคิดออกว่าประเภทของความสัมพันธ์ที่กำหนด (เส้นตรง, กำลังสอง, ฯลฯ ) คือการคำนวณความแตกต่าง ในการทำเช่นนั้นคุณจะต้องบันทึกรายการค่า y ที่ช่องว่างระหว่างค่า x ที่เหมือนกันและลบแต่ละค่าออกจากตัวเลขด้านบนสร้างรายการของตัวเลขหนึ่งที่สั้นกว่าจากรายการก่อนหน้า หากรายการผลลัพธ์ประกอบด้วยตัวเลขที่เหมือนกันทั้งหมดความสัมพันธ์มีความแตกต่าง 1 (เป็นเส้นตรง) หากพวกเขาไม่เหมือนกันแล้วคุณทำซ้ำกระบวนการในรายการใหม่ หากตอนนี้พวกเขาเหมือนกันความสัมพันธ์มีความแตกต่างของ 2 (มันเป็นกำลังสอง) หากพวกเขาไม่เหมือนกันคุณเพียงดำเนินการต่อกระบวนการนี้จนกว่าพวกเขาจะ ตัวอย่างเช่นหากคุณมีรายการค่า y [1,6,15,28,45,66] สำหรับการเพิ่มค่า x แบบเพิ่มหน่วย: First Differences: 1 6 1-6 =-5 15 6-15 =-9 28 15-28=-13 45 28-45=-17 66 45-66=-21 Second differences: -5 -9 -5+9 =4 -13 -9+13 =4 -17 …

8
เอ่อฉันอยู่ไหน
ไม่นะ! ฉันติดอยู่ในป่าใหญ่ (โอเคไม่ใช่จริง ๆ แต่แค่สมมติมัน) และฉันไม่รู้ว่าฉันอยู่ที่ไหน! โชคดีที่ฉันนำแล็ปท็อปมา แต่เมื่อฉันค้นหา 'แผนที่' มันบอกว่า 'ไม่มีผลลัพธ์' และฉันถามสิ่งนี้ว่าเป็นทางเลือกสุดท้าย โปรดสร้างโปรแกรมที่แสดงลองจิจูดและละติจูดของตำแหน่งของฉันในรูปแบบตัวเลขสองค่าใด ๆ any two number formatรวมถึง: สิ่งอันดับ สตริงรวมถึงลองจิจูดและละติจูด วัตถุ JSON ฯลฯ .. อาจใช้ API หรือไลบรารีใดก็ได้ นั่นคือคุณสามารถสืบค้น Google Maps และอื่น ๆ(ฉันเดาว่าพวกเขาไม่ได้ทิ้ง API ของพวกเขา: \)
26 code-golf 

24
มันเป็นคำสั่งหรือไม่
(แรงบันดาลใจจากโพสต์นี้ใน Puzzling ข้อควรระวัง: สปอยเลอร์สำหรับปริศนาที่มีอยู่ด้านล่าง) ปุ่มกดโทรศัพท์มาตรฐานมีความสัมพันธ์กับตัวอักษรกับตัวเลขดังนี้: 1 -> 2 -> ABC 3 -> DEF 4 -> GHI 5 -> JKL 6 -> MNO 7 -> PQRS 8 -> TUV 9 -> WXYZ 0 -> คำที่ป้อนที่กำหนดจะถูกกำหนดให้เป็นคำสั่งถ้าหากแปลไปยังแป้นกดโดยใช้ด้านบนหมายเลขที่เป็นผลลัพธ์จะไม่ลดลงหรือไม่เพิ่มขึ้น กล่าวอีกนัยหนึ่งจำนวนผลลัพธ์ไม่สามารถเพิ่มและลดลงได้ ตัวอย่างเช่นคำCATแปล228ซึ่งไม่ลดลงและทำให้เป็นคำสั่ง อย่างไรก็ตามคำว่าDOGเป็น364ซึ่งทั้งเพิ่มขึ้นและลดลงและทำให้ไม่ได้รับคำสั่งของ Word ความท้าทาย ได้รับคำเอาท์พุทไม่ว่าจะสั่งหรือไม่ อินพุต คำ (ไม่จำเป็นต้องเป็นคำพจนานุกรม) ประกอบด้วยอักษร ASCII ( [A-Z]หรือ[a-z]) ตัวอักษรในรูปแบบที่เหมาะสมใด ๆ ตัวเลือกของคุณหากอินพุตเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กทั้งหมด …

7
ทำธงคลื่น
ใช้ธงแบบนี้: ----------------------------- | | | | | | |=============+=============| | | | | | | ----------------------------- และใส่ตัวเลข: "ความยาวของคลื่น" สมมติว่าความยาวของคลื่นเท่ากับ 5 จากนั้นทุก ๆ 5 ตัวอักษรตามเส้นจากจุดเริ่มต้นให้แทนที่อักขระถัดไป-ด้วยa \และเลื่อนอักขระทั้งหมดหลังจากแถวหนึ่งลงมา ทำซ้ำจนกว่าจะหมด คุณท้ายด้วย: -----\ | -----\ | -----\ |===== | -----\ | ====== | ----- | ==+=== | -----\ | ====== | -----\ | ====| -----\ …

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