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

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

2
ICS Maritime Flag ตัวอักษร
เรือธง ใช้รหัสสากลของตัวอักษรสำหรับการสื่อสารโดยเฉพาะอย่างยิ่งสำหรับสัญญาณคงที่ ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่จะใช้สตริงจาก STDIN หรือเป็นอาร์กิวเมนต์และแสดงข้อความที่เกี่ยวข้องในตัวอักษรธง ICS หากภาษาของคุณไม่ปรากฏขึ้นที่หน้าจอการบันทึกลงไฟล์นั้นเป็นที่ยอมรับ โปรแกรมหรือการทำงานของคุณจะสนับสนุนตัวอักษรAZในด้านบนและกรณีที่ต่ำกว่าบวกอวกาศและนิวไลน์ พฤติกรรมกับตัวละครอื่น ๆ ไม่ได้กำหนด จอแสดงผลต้องมีขนาดใหญ่พอที่จะ สามารถแสดงผลได้อย่างน้อย 8 ธงในแนวนอนและ 6 ธงในแนวตั้ง พฤติกรรมจะไม่ได้กำหนดหากถึงขอบด้านขวาก่อนที่จะได้รับการขึ้นบรรทัดใหม่หรือหากข้อความยาวเกินกว่าที่จะพอดีกับจอแสดงผลในแนวตั้ง ตัวอักษรธงแสดงอยู่ด้านล่าง (ตัวอักษรโรมันใช้สำหรับการอ้างอิงเท่านั้นไม่จำเป็นต้องใช้ในผลลัพธ์) ขนาด ไม่มีมาตรฐานที่ตกลงกันโดยทั่วไปสำหรับขนาดของธงเหล่านี้ดังนั้นเพื่อความท้าทายนี้จะมีผลใช้บังคับ: ธงจะต้องเป็น 60x60 พิกเซลโดยมีช่องว่าง 30 พิกเซลระหว่างพวกเขาทั้งแนวนอนและแนวตั้ง หางแฉกที่ตัด A และ B ต้องมีความลึก 15 พิกเซล เส้นอื่นทั้งหมดต้องเป็นแนวนอนแนวตั้งหรือที่ 45 องศา สถานที่นั้นจะต้องอยู่ในตำแหน่งโดยแบ่งธงออกเป็นตาราง NxN ในจินตนาการของด้าน 3,4,5 หรือ 6 สี่เหลี่ยม อ้างถึงภาพด้านบน แต่สำหรับการชี้แจงเพิ่มเติม: A, E, H, K, …

4
ค้นหา axe สูงสุด + b
คุณจะได้รับรายชื่อของ (เป็นA, B ) และรายการของx คำนวณสูงสุดขวาน + Bสำหรับแต่ละx คุณสามารถสมมติa , bและxเป็นจำนวนเต็มไม่เป็นลบ โปรแกรมหรือฟังก์ชั่นของคุณจะต้องทำงานตามที่คาดไว้ (ตามแบบแผนหากโค้ดของคุณเกี่ยวข้องกับสิ่งนั้นไม่ใช่อินพุต) เวลาO ( n log n )โดยที่nคือความยาวอินพุตทั้งหมด (ผลรวมหรือความยาวสูงสุดของความยาวของทั้งสองรายการ) นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ ตัวอย่าง [[2 8] [4 0] [2 1] [1 10] [3 3] [0 4]] [1 2 3 4 5] เอาท์พุท: [11 12 14 16 20] คำอธิบาย: 11 = 1*1 …

10
สร้างชุดของพีชคณิตแบบผนวกต่อท้ายในลำดับที่เรียงตามพจนานุกรม
กำหนดลำดับความยาวของการผนวกท้ายnเพื่อเป็นการเรียงสับเปลี่ยนของตัวเลข1, 2, ..., nที่สามารถสร้างขึ้นได้โดยขั้นตอนต่อไปนี้: 1เริ่มต้นด้วยหมายเลข สำหรับหมายเลขจากแต่ละ2ที่จะnวางจำนวนนี้ไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของลำดับ (ทั้งย่อหน้าหรือผนวกมันจึงชื่อของลำดับ) ตัวอย่างเช่นนี่เป็นวิธีที่ถูกต้องในการสร้างลำดับ prepend-ผนวกท้ายความยาว 4: 1 21 [beginning] 213 [end] 2134 [end] งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่จะนำตัวเลขnจาก3การ30เป็น input และพิมพ์หรือส่งคืนทั้งหมดลำดับย่อหน้า-ผนวกของความยาวnในการสั่งซื้อ lexicographical (ถ้าคุณ outputting สตริงและรายการไม่ได้ตัวเลขดังกล่าวข้างต้น 9 จะเป็นตัวแทน เป็นตัวอักษรa-uเพื่อรักษาความยาวสตริง) ตัวอย่างเช่นนี่คือลำดับสำหรับn = 4: 1234 [RRR] 2134 [LRR] 3124 [RLR] 3214 [LLR] 4123 [RRL] 4213 [LRL] 4312 [RLL] 4321 [LLL] โดยทั่วไปมี 2 n-1nพีชคณิตย่อหน้า-ผนวกของความยาว คุณไม่สามารถใช้ฟังก์ชั่นการเรียงลำดับในภาษาของคุณในรหัสของคุณ …

6
สร้างสี่เหลี่ยมผืนผ้าจากสเปค
บทนำ ความท้าทายนี้ได้รับแรงบันดาลใจจากGrimeซึ่งเป็นภาษาจับคู่รูปแบบ 2D ของฉัน โดยทั่วไปคุณจะได้รับ "ไวยากรณ์" ที่อธิบายกริดสองมิติของตัวอักษรและงานของคุณคือการสร้างกริดตามไวยากรณ์ นอกจากนี้ตารางควรมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ในแง่อ่อน อินพุต ข้อมูลของคุณเป็นสตริงที่มีอักขระตัวพิมพ์เล็ก ASCII และสัญลักษณ์และ| -เพื่อความเรียบง่ายอินพุตไม่มีอักขระตัวพิมพ์เล็กซ้ำ ๆ สตริงเป็นข้อมูลจำเพาะสำหรับคลาสของกริดสี่เหลี่ยมของอักขระและแยกวิเคราะห์จากซ้ายไปขวาโดยใช้สแต็กดังนี้ กำหนดอักขระตัวพิมพ์เล็กcกดไปที่สแต็กm×nกริดของอักขระcสำหรับใด ๆm, n ≥ 1สำหรับการใด ๆ ได้รับท่อ|, pop สองกริดAและBจากสแต็ค ( Bอยู่ชั้นบนสุด) และผลักดันตารางABได้โดยการเชื่อมโยงไปทางขวาของB Aสิ่งนี้ต้องการAและBมีความสูงเท่ากัน ได้รับยัติภังค์-, pop สองกริดAและBจากสแต็ค ( Bอยู่ชั้นบนสุด) และผลักดันตารางA/Bได้โดยการเชื่อมโยงที่ด้านล่างของB Aสิ่งนี้ต้องการAและBมีความกว้างเท่ากัน รับประกันได้ว่าสำหรับตัวเลือกบางอย่างmและnทำในระหว่างกระบวนการแยกวิเคราะห์ (ซึ่งอาจแตกต่างกันสำหรับตัวอักษรแต่ละตัว), ข้อกำหนดการป้อนข้อมูลอย่างถูกต้องอธิบายสี่เหลี่ยมผืนผ้าบางอย่างซึ่งถูกทิ้งไว้บนกองในตอนท้าย เอาท์พุต เอาต์พุตของคุณเป็นตารางสี่เหลี่ยมของอักขระที่ระบุโดยอินพุต กริดต้องมีขนาดเล็กที่สุดในแง่ที่ว่าการลบแถวหรือคอลัมน์ใด ๆ จะทำให้มันไม่ถูกต้อง คุณสามารถส่งคืนสตริงที่คั่นด้วยการขึ้นบรรทัดใหม่ (โดยมีหรือไม่มีการขึ้นบรรทัดใหม่), อาร์เรย์ของอักขระ 2 มิติหรืออาร์เรย์ของสตริงแล้วแต่จำนวนใดจะเป็นรูปแบบที่สะดวกที่สุด โปรดทราบว่าคุณไม่จำเป็นต้องดำเนินการอินพุตตามที่อธิบายไว้ข้างต้น สิ่งสำคัญเพียงอย่างเดียวคือผลลัพธ์ของคุณถูกต้อง …

6
เคล็ดลับสำหรับการเล่นกอล์ฟใน> <> (ปลา)
เนื่องจากฉันได้เห็นมากกว่า&gt; &lt;&gt;การส่งที่ลอยไปรอบ ๆ เมื่อเร็ว ๆ นี้ฉันคิดว่ามันเป็นความคิดที่ดีที่จะมีหน้าเคล็ดลับ โปรดติดหนึ่งเคล็ดลับต่อโพสต์เว้นแต่ว่าจะมีความเกี่ยวข้องอย่างใกล้ชิด Python ล่ามอย่างเป็นทางการ ล่ามออนไลน์ (มีบั๊กบางตัว แต่ดีสำหรับกรณีส่วนใหญ่)
14 code-golf  tips 

2
ขยายช่วงเต็มจำนวนสูงสุด
สมมติว่าคุณจะได้รับชุดของที่ไม่ได้ตัด[a1,b1],[a2,b2],[a3,b3],...,[aN,bN]ช่วงของจำนวนเต็ม ( [a,b]ชุดของจำนวนเต็มมากกว่าหรือเท่ากับaและน้อยกว่าหรือเท่ากับb) ช่วงเวลาที่ดัชนีXครอบคลุมbX - aX + 1ค่า เราจะโทรไปที่หมายเลขcXนี้ เนื่องจากแต่ละช่วงเวลาสามารถเป็น ... ไม่เปลี่ยนแปลง (อยู่ในฐานะ[aX,bX]) ขยายไปทางขวาไปทาง+ด้านข้างของตัวเลขโดยcX(กลายเป็น[aX,bX + cX]), หรือขยายไปทางซ้ายไปทาง-ด้านข้างของจำนวนบรรทัดโดยcX(กลายเป็น[aX - cX,bX]) จำนวนสูงสุดของค่าใดบ้างที่สามารถรวมเข้าด้วยกันในช่วงเวลาที่อัปเดตทั้งหมดเนื่องจากพวกเขายังคงไม่ตัดกันทั้งหมด เขียนฟังก์ชันหรือโปรแกรมที่รับสตริงของฟอร์ม[a1,b1],[a2,b2],[a3,b3],...,[aN,bN]และคำนวณค่าสูงสุดนี้ ถ้าเขียนฟังก์ชันให้คืนค่า หากเขียนโปรแกรมแบบเต็มให้ใช้ stdin สำหรับอินพุตและพิมพ์ค่าไปยัง stdout (หรือใช้ทางเลือกที่ใกล้เคียงที่สุด) คุณอาจจะสมมติค่าทั้งหมดเป็นอย่างดีภายในปกติลงนาม 32 บิตขีด จำกัด ของจำนวนเต็มและaXน้อยกว่าหรือเท่ากับดัชนีทั้งหมดbX Xช่วงเวลาอาจอยู่ในลำดับใด ๆ พวกเขาไม่จำเป็นต้องเพิ่มขึ้นเสมอ พวกเขาจะต้องได้รับเป็นสตริงในรูปแบบข้างต้น สตริงอาจว่างเปล่าซึ่งในกรณีนี้คำตอบจะเป็น 0 การส่งที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง หากอินพุตเป็น[-3,0],[1,2],[4,9]เอาต์พุตจะเป็น 22 ช่วงเวลากลางไม่มีที่ว่างสำหรับขยายอย่างใดอย่างหนึ่งดังนั้นจึงต้องไม่เปลี่ยนแปลง ช่วงเวลาด้านซ้ายและด้านขวาสามารถขยายได้ทั้งไป[-7,0]และ[4,15]ตามลำดับ การรวมกันของ[-7,0]และ[1,2]และ[4,15]มีค่าทั้งหมดจาก -7 ถึง 15 ยกเว้น 3 …

2
กลยุทธ์การชนะสำหรับเกมก่อสร้างสตริง
พื้นหลัง Alice และ Bob เล่นเกมที่เรียกว่าสร้างคำไบนารี ในการเล่นเกมที่คุณแก้ไขความยาวn &gt;= 0, ชุดGของ length- nคำไบนารีที่เรียกว่าชุดเป้าหมายและ length- nสตริงtที่มีตัวอักษรAและBที่เรียกว่าคำสั่งเปิด เกมเป็นเวลาnผลัดกันและในทางกลับกันiผู้เล่นที่กำหนดโดยเลือกบิตt[i] w[i]เมื่อเกมสิ้นสุดลงผู้เล่นจะดูคำฐานสองที่wพวกเขาสร้าง หากพบคำนี้ในชุดเป้าหมายGอลิซชนะเกม มิฉะนั้นบ๊อบชนะ ยกตัวอย่างเช่นการแก้ไขให้ของn = 4, และG = [0001,1011,0010] อลิซได้รับการเปิดครั้งแรกและเธอเลือกt = AABA เปิดสองยังเป็นของอลิซและเธอเลือกw[0] = 0 บ๊อบมีการเปิดสามและเขาเลือกw[1] = 0 ในการเลี้ยวโค้งสุดท้ายอลิซเลือกw[2] = 0 w[3] = 1คำที่เป็นผลลัพธ์0001ถูกพบในGดังนั้นอลิซชนะเกม ตอนนี้ถ้าบ๊อบเลือกw[2] = 1อลิซอาจเลือกw[3] = 0ในรอบสุดท้ายของเธอและยังคงชนะ นั่นหมายความว่าอลิซสามารถชนะเกมได้ไม่ว่าบ็อบจะเล่นอย่างไร ในสถานการณ์เช่นนี้อลิซมีกลยุทธ์ชนะ กลยุทธ์นี้สามารถมองเห็นได้เป็นต้นไม้ไบนารีที่มีป้ายกำกับซึ่งแยกตามระดับที่สอดคล้องกับตาของบ๊อบและทุกสาขามีคำจากG: A A B A …
14 code-golf  game 

7
รวมพลังกับ n
คำสั่ง เขียนโปรแกรมที่ได้รับการป้อนข้อมูลจำนวนเต็มn ( n &gt;= 0) ผลลัพธ์ที่ได้มีขนาดเล็กที่สุดจำนวนเต็มบวก เมตรที่: n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k] aและbเป็นลำดับที่มีความยาวเท่ากัน องค์ประกอบทั้งหมดของaน้อยกว่าm องค์ประกอบทั้งหมดของbน้อยกว่าm องค์ประกอบทั้งหมดของaมีที่แตกต่างกันและจำนวนเต็มa[x] &gt;= 0 องค์ประกอบทั้งหมดของbมีที่แตกต่างกันและจำนวนเต็มb[x] &gt;= 0 a[x]และb[x]ไม่ใช่ทั้งคู่ 0 (ตั้งแต่ 0 ^ 0 ไม่แน่นอน) นี่คือโค้ดกอล์ฟซึ่งมีจำนวนน้อยที่สุดที่จะชนะ ตัวอย่าง In 0 -&gt; Out 1 Possible Sum: In 1 -&gt; Out 2 Possible …

15
เติมในช่องว่าง
อินพุต ติดลบnและสตริงว่างที่มีเพียงตัวอักษรและตัวเลขและขีดs _ตัวอักษรตัวแรกของไม่ได้s _ขีดล่างของsถูกตีความว่าเป็นช่องว่างที่สามารถเติมด้วยอักขระอื่น ๆ เรากำหนดลำดับอนันต์ของ "สตริงอนันต์" ดังนี้ สตริงจะถูกทำซ้ำหลายครั้งอย่างไม่ จำกัด สำหรับทุกสตริงจะได้รับจากโดยการกรอกช่องว่างกับตัวละครของเพื่อให้คนแรกของจะถูกแทนที่ด้วยสองด้วยและอื่น ๆ เนื่องจากตัวอักษรตัวแรกของไม่ใช่ตัวอักษรทุกช่องว่างจะถูกเติมเต็มในที่สุดและเราแสดงด้วยสตริงที่ไม่มีที่สิ้นสุดซึ่งทุกตัวถูกแทนที่ด้วยค่าในที่สุดs1 = s s s...sk &gt; 1sk+1sks1_sks1[0]s1[1]s_s∞_ เอาท์พุต nอักขระตัวแรกของเป็นสตริงs∞ ตัวอย่าง พิจารณาปัจจัยการผลิตและn = 30 s = ab_c_เรามี s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_... เพื่อทดแทนช่องว่างของเราs1s1 s2 = abacbab_ccab_caabbc_abcc_abacbab_cc... เราแทนที่ช่องว่างอีกครั้งซึ่งส่งผลให้s1 s3 = abacbabaccabbcaabbc_abcccabacbab_cc... การทดแทนอีกหนึ่งรายการ: s4 = abacbabaccabbcaabbcaabcccabacbabbcc... จากนี้เราสามารถอนุมานอักขระ 30 ตัวแรกของซึ่งคือs∞ abacbabaccabbcaabbcaabcccabacb นี่เป็นเอาต์พุตที่ถูกต้อง กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่น …
14 code-golf  string 

4
เกือบจะกระเพื่อม!
ท้าทาย ความท้าทายของคุณคือการออกแบบสำหรับล่ามภาษากระเพื่อมเหมือนซึ่งจะไปจากที่นี่มาได้รับการประกาศเกียรติคุณ: GLisp รหัสโปรแกรมสำหรับGLispจะประกอบด้วยจำนวนของนิพจน์ที่ซ้อนกันที่แสดงโดยวงเล็บในรูปแบบต่อไปนี้โดยพลการ: (func arg1 arg2 ...) โปรดทราบว่าล่ามจะต้องอนุญาตสำหรับอักขระช่องว่างภายนอกก่อนและหลังวงเล็บฟังก์ชั่นและข้อโต้แย้ง ประเภท คุณจะใช้งานสี่ประเภท, จำนวนเต็ม, รายการ, บูลีนและฟังก์ชั่น ค่าจำนวนเต็มและบูลีนสามารถแทรกอย่างชัดเจนในซอร์สโค้ดด้วยไวยากรณ์ของตัวเอง ล่ามของคุณต้องสมมติว่าการใช้อักขระตัวเลขหมายถึงจำนวนเต็ม (คุณไม่จำเป็นต้องใช้ไวยากรณ์เพื่อแทรกจำนวนเต็มลบอย่างชัดเจน) ล่ามของคุณจะต้องถือว่าtrueและfalseได้รับการกำหนดค่าบูลีน ฟังก์ชั่นไม่สามารถกำหนดได้อย่างชัดเจนโดยผู้ใช้และจะส่งกลับค่าเดียวเสมอ (รายการที่มีความยาวนับเป็นค่าเดียว) ฟังก์ชั่น ฟังก์ชั่นต่อไปนี้จะต้องได้รับการดำเนินการและอยู่ในรูปแบบฟังก์ชั่น , arity หาก Arity nดำเนินการต่อโดยเครื่องหมายบวกแสดงว่าnมีการโต้แย้งหรือมากกว่า คุณอาจสมมติว่าอาร์กิวเมนต์ทั้งหมดที่กำหนดให้กับฟังก์ชันนั้นเป็นประเภทเดียวกันเว้นแต่จะระบุไว้เป็นอย่างอื่น คุณอาจคิดว่าหากไม่มีการระบุพฤติกรรมสำหรับประเภทใบรับรองคุณอาจสมมติว่าไม่มีข้อโต้แย้งของฟังก์ชันนั้น ๆ ที่จะเป็นประเภทนั้น อาร์กิวเมนต์จะถูกอ้างถึงในแผนภาพต่อไปนี้: (func argument1 argument2 ... argumentn) + , 2+ หากอาร์กิวเมนต์ทั้งหมดเป็นประเภทจำนวนเต็มคุณต้องส่งคืนผลรวมของข้อโต้แย้ง ถ้าขัดแย้งทั้งหมดเป็นประเภทรายการคุณต้องกลับมาเรียงต่อกันของการขัดแย้งในการเรียงลำดับ ( arg1+arg2+ ...) หากอาร์กิวเมนต์ทั้งหมดเป็นประเภทBooleanคุณต้องส่งคืนตรรกะทั้งหมดของลำดับอาร์กิวเมนต์ (+ 1 2 3 …

1
คำแนะนำของงูหลาม: การพกพาของการเรียกฟังก์ชั่นครุ่นคิด
ใน Python คุณสามารถใช้dirฟังก์ชั่นบนวัตถุใดก็ได้เพื่อรับรายการชื่อฟังก์ชั่นอินสแตนซ์ของมัน: &gt;&gt;&gt; dir('abc') ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__','__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', …
14 code-golf  tips  python 

5
ประติมากรรมแม่เหล็ก
นี้คือความต่อเนื่องหลวมของความท้าทายที่ก่อนหน้านี้ของฉันในกราฟก่อสร้าง พื้นหลัง ศิลปินคนประหลาดได้ว่าจ้างคุณให้ประเมินความสมบูรณ์ของโครงสร้างของประติมากรรมของเขา เขาสร้างผลงานศิลปะของเขาโดยนำแม่เหล็กรูปทรงลูกบาศก์จำนวนหนึ่งมาวางลงในกองใหญ่ทีละก้อน เพื่อวิเคราะห์วิธีการของเขาให้ดีขึ้นเราใช้โมเดลสองมิติต่อไปนี้ เราเริ่มต้นด้วยพื้นว่างและวางแม่เหล็ก#ที่พิกัดจำนวนเต็มใด ๆ พูดว่า0: | v # =============== 0 หากแม่เหล็กตกอยู่ที่0หนึ่งมันจะจบลงที่ด้านบนของแม่เหล็กก่อนหน้า: | v # # =============== 0 ตอนนี้ให้เราวางแม่เหล็กอีกหนึ่งที่0และอีกหนึ่งที่1: | #v ## # =============== 0 ตามที่เห็นด้านบนแม่เหล็กที่ตกลงมาจะติดกับแม่เหล็กที่สองที่มันผ่าน แม่เหล็กที่สองไม่จำเป็นต้องอยู่ใต้แม่เหล็กแรกโดยตรงและแม่เหล็กทั้งสองข้างยังคงนับเป็นแม่เหล็กเดียว: # # ##|## # v # ### # # # =============== 0 ศิลปินต้องการให้คุณคำนวณช่องว่างแนวตั้งสูงสุดในรูปปั้นสุดท้ายนั่นคือจำนวนช่องว่างสูงสุดระหว่างสองแม่เหล็กในคอลัมน์เดียวกันหรือแม่เหล็กและพื้นดินด้านล่าง ในภาพด้านบนหมายเลขนี้จะเป็น 3 (ในคอลัมน์2) อินพุต รายการจำนวนเต็มแทนค่าพิกัดที่ศิลปินวางแม่เหล็กอ่านจากซ้ายไปขวา คุณอาจคิดว่าพิกัด-1024 &lt;= i …
14 code-golf  grid 

5
ทำให้หมายเลขใด ๆ โดยเพิ่มหมายเลข 2 ซ้ำ ๆ
คุณจะได้รับเครื่องที่มีสองลงทะเบียน 16 บิตและx yลงทะเบียนจะเริ่มต้นและx=1 y=0การดำเนินการเพียงอย่างเดียวที่เครื่องสามารถทำได้คือการเพิ่มโมดูโล 65536 นั่นคือ: x+=y- xถูกแทนที่ด้วย(x + y) mod 65536; yไม่เปลี่ยนแปลง y+=x - ในทำนองเดียวกันสำหรับ y x+=x- xถูกแทนที่ด้วย2x mod 65536; ถูกกฎหมายเฉพาะในกรณีที่xเป็นแม้กระทั่ง y+=y - ในทำนองเดียวกันสำหรับ y เป้าหมายคือการรับจำนวนที่กำหนดไว้ในหนึ่งในการลงทะเบียน (อย่างใดอย่างหนึ่งxหรือy) เขียนโปรแกรมหรือรูทีนย่อยที่ได้รับหมายเลข (ในstdin,, argvพารามิเตอร์ฟังก์ชั่น, ด้านบนของสแต็กหรือสถานที่ทั่วไปอื่น ๆ ) และส่งออกโปรแกรมเพื่อรับหมายเลขนี้ เอาต์พุตควรไปที่stdoutหรือ (หากภาษาของคุณไม่มีstdout) ไปยังอุปกรณ์เอาต์พุตทั่วไปอื่น ๆ โปรแกรมเอาต์พุตสามารถมีได้สูงสุด 100% บวกกับ 2 ขั้นตอนจากขั้นตอนที่เหมาะสมที่สุด นั่นคือถ้าโปรแกรมที่สั้นที่สุดที่จะได้รับจำนวนเป้าหมายมีขั้นตอนวิธีการแก้ปัญหาของคุณไม่สามารถจะยาวกว่าn 2n+2ข้อ จำกัด นี้คือการหลีกเลี่ยงการแก้ปัญหา "ง่ายเกินไป" …

4
เขียนตัวตรวจการสะกดคำ
เกมWaving Handsอยู่ที่ไหนสักแห่งระหว่าง Magic Pen และ Paper: Gathering และกรรไกรกระดาษ Rock ที่ประณีตมาก ทุกเทิร์นที่คุณเขียนหนึ่งในแปดท่าทางสำหรับแต่ละมือ: wiggled Fingers เสนอPalm Sงีบ WAVE Digit ชี้ Cตัก STAB Nothing มีกฎสำคัญบางประการที่สำคัญกว่าส่วนที่เหลือ: หากทั้งสองมือท่าทางPคุณจะยอมแพ้ (นี่คือการทำให้เข้าใจง่าย แต่เราจะทำตามนั้น) Bมือข้างเดียวในเวลาที่สามารถท่าทาง ชุดของท่าทางที่กระทำโดยมือเดียวกันสามารถเสกคาถาที่แต่ละคาถาถูกผูกไว้กับลำดับหนึ่งโดยเฉพาะ ลำดับเหล่านี้สามารถทับซ้อนกัน แต่แต่ละท่าทางสามารถใช้เป็นท่าทางสุดท้ายของคาถาเดียวเท่านั้น (เพื่อให้คุณสามารถสร้างคาถาได้มากถึงสองคาถาในรอบเดียว) คาถาบางอย่างต้องใช้ท่าทางด้วยมือทั้งสองพร้อมกัน งานของคุณคือกำหนดรายการท่าทางสำหรับแต่ละมือเพื่อกำหนดคาถาที่สามารถส่งในเทิร์นปัจจุบัน สำหรับแต่ละมืออักษรสุดท้ายในรายการแสดงถึงท่าทางที่เลือกสำหรับเทิร์นปัจจุบัน นี่คือรายการของลำดับท่าทาง ตัวอักษรตัวพิมพ์ใหญ่หมายถึงท่าทางที่ดำเนินการโดยมือเดียวตัวอักษรตัวพิมพ์เล็กหมายถึงท่าทางที่กระทำด้วยมือทั้งสอง B Stab cDPW Dispel magic cSWWS Summon elemental cw Magic mirror DFFDD Lightning bolt DFPW …
14 code-golf  string  game 

5
แปลง x-illion เป็นรูปแบบมาตรฐาน
รับสตริงซึ่งประกอบด้วยคำนำหน้าและจากนั้น "illion" แปลงตัวเลขนี้เป็นรูปแบบมาตรฐาน ตัวอย่างเช่น: "million" -&gt; 10^6 "trillion" -&gt; 10^12 "quattuordecillion" -&gt; 10^45 โปรแกรมต้องสามารถจัดการอินพุตได้สูงถึง Centillion ซึ่งก็คือ 10 ^ 303 รายการชื่อและค่าแบบฟอร์มมาตรฐานสามารถพบได้ที่นี่ - โปรดทราบว่าสิ่งนี้ให้ค่าสำหรับการเพิ่มขึ้นทุก 10 ^ 3 ถึง 10 ^ 63 แต่จากนั้นให้เพิ่มทีละ 10 ^ 30 แต่รูปแบบนั้นค่อนข้างตรงไปตรงมา โปรแกรมจำเป็นต้องจัดการทั้งหมด 100 ราย (แม้จะไม่ได้ระบุอย่างชัดเจนจากเว็บไซต์ที่ให้ไว้) - นี่คือตัวอย่างของสิ่งนี้: "sexvigintillion" -&gt; 10^81 "unnonagintillion" -&gt; 10^276 "octotrigintillion" -&gt; 10^117 อินพุตสามารถถูกกำหนดผ่าน …

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