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

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

5
ย้อนกลับรหัสของคุณย้อนกลับ OEIS
งานที่นี่คือการเขียนโปรแกรมที่ใช้จำนวนธรรมชาติ, , และสร้างคำที่ของลำดับ OEIS ลำดับนั้นควรมีตัวระบุในรูปแบบตามด้วยตัวเลข 6 ตัว ตอนนี้เมื่อคุณนำซอร์สโค้ดของคุณและกลับลำดับของไบต์เพื่อสร้างโปรแกรมใหม่โปรแกรมนั้นควรใช้ลำดับ OEIS ด้วย ลำดับใหม่ควรถูกระบุด้วยตัวเลข 6 ตัวเหมือนกันเป็นครั้งสุดท้าย แต่เรียงกลับกัน (รวมถึงศูนย์นำหน้า)nnnnnnAA ทีนี้เพื่อป้องกันไม่ให้สิ่งเล็ก ๆ น้อย ๆ ทั้งเลขตัว OEIS และโปรแกรมของคุณไม่สามารถเป็น palindromes นั่นคือลำดับและโปรแกรมควรแตกต่างกัน คุณไม่สามารถเลือกลำดับที่ไม่มีการย้อนกลับหรือว่างเปล่า สำหรับแต่ละลำดับของคุณคุณอาจเลือกที่จะใช้การจัดทำดัชนี 0 หรือ 1 พวกเขาไม่จำเป็นต้องใช้การจัดทำดัชนีเดียวกัน เนื่องจากลำดับของ OEIS บางตัวมีโดเมนที่ จำกัด คุณจึงต้องส่งออกเฉพาะหมายเลขที่ถูกต้องสำหรับโดเมนของลำดับนั้น พฤติกรรมที่ต้องการของคุณนั้นไม่ได้กำหนดนอกโดเมน (คุณสามารถส่งออก0, ขัดข้อง, สั่งพิซซ่า ฯลฯ ) นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า

5
ปริศนาปิรามิดที่เพิ่มเข้ามานี้มีทางออกที่ไม่ซ้ำใคร
รับพีระมิดเพิ่มเติมพิจารณาว่าจะสามารถแก้ไขได้ พีระมิดนอกจากนี้ยังประกอบด้วยชั้นซึ่งแต่ละคนมีหนึ่งหมายเลขน้อยกว่าหนึ่งด้านล่าง ชั้นเป็นสัญลักษณ์เป็นP_iเป็นชั้นฐานและเป็นชั้นบนP_iจำนวนวันของจะแสดงเป็นj} เป็นจำนวนซ้ายสุดของและเป็นจำนวนไปทางขวาของj} คุณอาจเห็นภาพอยู่ด้านบนของPPPiiiPiPiP_iP1P1P_1Pi+1Pi+1P_{i+1}PiPiP_ijjjPiPiP_iPi,jPi,jP_{i,j}Pi,1Pi,1P_{i,1}PiPiP_iPi,j+1Pi,j+1P_{i,j+1}Pi,jPi,jP_{i,j}Pi+1,jPi+1,jP_{i+1,j}Pi,jPi,jP_{i,j}และอยู่ตรงกลางดังนั้นชื่อ "การเติมพีระมิด "Pi,j+1Pi,j+1P_{i,j+1} ∀Pi,j,Pi,j∈N∗∀Pi,j,Pi,j∈N∗\forall P_{i,j},P_{i,j}\in\mathbb N^*นั่นคือทุกหมายเลขในพีระมิดเป็นจำนวนเต็มบวกที่ไม่เป็นศูนย์ ∀i>1,Pi,j=Pi−1,j+Pi−1,j+1∀i>1,Pi,j=Pi−1,j+Pi−1,j+1\forall i>1,P_{i,j}=P_{i-1,j}+P_{i-1,j+1}นั่นคือทุกหมายเลขที่ไม่ได้อยู่บนชั้นฐานของพีระมิดคือผลรวมของ ตัวเลขสองตัวข้างล่างนี้ หากมีตัวเลขมีหมายเลขจึงเป็นจำนวนขวาสุดของP_iในแง่ที่ง่ายกว่าแต่ละเลเยอร์มีหนึ่งหมายเลขน้อยกว่าเลเยอร์ด้านล่างP1P1P_1nnnPiPiP_in−i+1n−i+1n-i+1Pi,n−i+1Pi,n−i+1P_{i,n-i+1}PiPiP_i ปริศนานอกจากพีระมิด เป็นปิรามิดนอกจากนี้ยังมีตัวเลขบางที่ถูกลบ (แทนที่ด้วย ) วิธีแก้ปัญหาคือการเพิ่มพีระมิดโดยที่นั่นคือตัวเลขที่มีอยู่เดิมในปริศนามี ถูกทิ้งให้ไม่เปลี่ยนแปลง ปริศนาดังกล่าวอาจมีทางออกมากกว่าหนึ่งข้อQQQ???PPP∀Qi,j≠?,Pi,j=Qi,j∀Qi,j≠?,Pi,j=Qi,j\forall Q_{i,j}\ne{?},P_{i,j}=Q_{i,j} งานของคุณคือการเพิ่มตัวต่อปริศนาปิรามิดเพื่อตรวจสอบว่ามันมีทางออกเดียวหรือไม่ อินพุต คุณสามารถรับอินพุตในฟอร์มใด ๆ ต่อไปนี้ แต่ต้องสอดคล้องกัน: อาร์เรย์ของเลเยอร์ อาเรย์ของเลเยอร์มีรูปร่างเหมือนพีระมิดโดยใช้ค่าที่ไม่เป็นบวก - จำนวนเต็มที่สอดคล้องกันเป็นตัวคั่นระหว่างองค์ประกอบ (ใช้เพียงครั้งเดียวในแต่ละครั้ง) เช่นเดียวกับการเติมด้านซ้ายและขวา ตัวคั่นและช่องว่างภายในจะต้องเหมือนกัน อาร์เรย์ของเลเยอร์ที่มีการเติมด้านขวาหรือซ้ายที่ถูกต้องสอดคล้องกัน (คุณต้องสอดคล้องและไม่ผสมการผสมด้านขวาและซ้ายในกรณีนี้) โปรดทราบว่าจะต้องใช้ค่าที่สอดคล้องกันซึ่งไม่ใช่จำนวนเต็มบวกอย่างเคร่งครัดเพื่อแสดงตัวเลขที่ขาดหายไป ค่านี้ไม่สามารถใช้เป็นช่องว่างภายใน นอกจากนี้คุณยังสามารถนำเลเยอร์ที่ต่อกัน (คุณยังสามารถแยกพวกมันออกได้) และการเรียงลำดับอาจมาจากฐานไปยังด้านบนหรือจากด้านบนสู่ฐาน เอาท์พุต หนึ่งในสองค่าที่แตกต่างที่สอดคล้องกันโดยที่หนึ่งแสดงถึงการมีอยู่ของโซลูชันที่ไม่ซ้ำกันและอีกอย่างหนึ่งคือการขาดโซลูชันหรือการมีมากกว่าหนึ่งโซลูชัน กฎระเบียบ Qi+1,j=Qi,j+Qi,j+1Qi+1,j=Qi,j+Qi,j+1Q_{i+1,j}=Q_{i,j}+Q_{i,j+1}จะเป็นจริงเสมอถ้านั่นคืออินพุตรับประกันได้ว่าจะไม่มีตัวเลขอยู่ด้านบนของตัวเลขอีกสองตัวที่ไม่ใช่ผลรวมของพวกเขาหากรู้ตัวเลขทั้งสามQi,j,Qi,j+1,Qi+1,j∈N∗Qi,j,Qi,j+1,Qi+1,j∈N∗Q_{i,j},Q_{i,j+1},Q_{i+1,j}\in\mathbb N^* ∃Qi,j,Qi,j≠?∃Qi,j,Qi,j≠?\exists Q_{i,j},Q_{i,j}\ne{?}นั่นคือปิรามิดจะมีหมายเลขที่รู้จักอย่างน้อยหนึ่งหมายเลข ไม่ทำสิ่งเหล่านี้ …

3
พิมพ์ 'A' 1,000 ครั้งด้วย BrainFuck
รหัส BrainFuck ที่ดีที่สุด (ในแง่ของขนาดรหัส) ในการพิมพ์ 'A' 1,000 ครั้งคือเท่าไหร่ แนวทางของฉันคือ ตั้ง 'A' เป็น p [0] ตั้งค่า 255 เป็น p [1] เพื่อแสดง 255 'A', 3 ครั้ง ตั้งค่า 235 เป็น p [1] เพื่อแสดง 235 'A' มันไม่ได้มีประสิทธิภาพ แต่ฉันไม่สามารถหาวิธีใช้ตัวนับพ่วงพร้อมกันเช่นการคูณ มีวิธีที่ดีกว่าการคูณหรือไม่ คำถามทั่วไปเพิ่มเติม: มีกฎในการคูณด้วยจำนวนมากด้วยรหัสที่เล็กที่สุดหรือไม่

30
Chunk + ระบุรายการตัวเลข
ฉันมีรายการเลขทศนิยม: 4, 4, 4, 7, 7, 9, 9, 9, 9, 2, 2, 2, 4, 4 รายการเลขฐานสิบเป็นที่รู้จักกันในชื่อรายการ เราสามารถสร้าง "ชิ้นส่วน" จากรายการเหล่านี้โดยจัดกลุ่มหมายเลขที่เหมือนกันและติดกัน ฉันต้องการกำหนดหมายเลขที่ไม่ซ้ำกันให้แต่ละอันเริ่มต้นจาก 1 และเพิ่มขึ้น 1 ตามลำดับที่จะปรากฏในรายการต้นฉบับ ดังนั้นเอาต์พุตสำหรับตัวอย่างที่กำหนดจะมีลักษณะดังนี้: 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5 รูปแบบอินพุต รายการของตัวเลข (0-9) คุณสามารถใช้ภาษาในตัวเพื่ออ่านรายการนี้ได้ตามต้องการ การเข้ารหัส: ASCII รูปแบบเอาต์พุต ชุดตัวเลขทศนิยมคั่นด้วยตัวคั่น โปรแกรมของคุณต้องใช้ตัวคั่นเดียวกันเสมอ ตัวคั่นต้องยาวกว่า 0 …

6
การรวมกลุ่มตามความคิดริเริ่ม
บทนำ: ฉันรวบรวมปริศนาคดเคี้ยว ส่วนใหญ่ผลิตและจำหน่ายโดย บริษัท จีน บริษัท ที่มีชื่อเสียงส่วนใหญ่ขออนุญาตจากผู้ออกแบบตัวต่อเพื่อผลิตงานออกแบบและทำงานร่วมกันเพื่อนำไปสู่ผลิตภัณฑ์ในตลาด ในกรณีนี้ผู้ออกแบบเกมปริศนานั้นมีความสุขและภูมิใจมากที่หนึ่งในปริศนาของพวกเขาเข้าสู่ตลาด อย่างไรก็ตามยังมี บริษัท ของจีนที่สร้างปริศนาเลียนแบบ การลอกเลียนแบบเหล่านี้มีทั้งการออกแบบที่ใช้โดยไม่ได้รับอนุญาตจากผู้สร้างดั้งเดิมหรือเป็นสำเนาที่มีคุณภาพต่ำกว่าของปริศนาที่มีอยู่เดิม ท้าทาย: เราจะพิจารณาความสามารถในการสร้างสรรค์ของตัวเลขที่ 'ปล่อย' ตามลำดับเฉพาะ (จากซ้ายไปขวา† ) รับรายการจำนวนเต็มจัดกลุ่มและส่งออกตามความคิดริเริ่ม ความคิดริเริ่มของตัวเลขถูกกำหนดอย่างไร? ตัวเลขซ้ำซ้อนกับตัวเลขก่อนหน้าหรือไม่ กลุ่ม (ต้นฉบับน้อยที่สุด) โดยที่กลุ่มต่อท้ายอยู่หลังจากกลุ่มอื่น ๆ ทั้งหมดX+ 1X+1X+1X+ 1X+1X+1 เป็นตัวเลขที่ซ้ำกันของตัวเลขก่อนหน้า แต่เป็นค่าลบแทน (เช่นหมายเลขเดิมคือแต่ตอนนี้ ; หรือกลับกัน) กลุ่มXnnn- n-n-nXXX สามารถสร้างค่าสัมบูรณ์ของตัวเลขโดยการต่อตัวเลขสัมบูรณ์ก่อนหน้าหนึ่งหมายเลขขึ้นไปและมันไม่ได้เป็นส่วนหนึ่งของกลุ่มที่กล่าวถึงก่อนหน้านี้หรือหรือไม่? กลุ่มโดยที่คือจำนวนตัวเลขที่แตกต่างกันที่ใช้ในการต่อข้อมูล (และ )X+ 1X+1X+1XXXX- NX-ยังไม่มีข้อความX-Nยังไม่มีข้อความยังไม่มีข้อความNยังไม่มีข้อความ≥ 1ยังไม่มีข้อความ≥1N\geq1 จำนวนไม่เหมาะสมกับกลุ่มใด ๆ ข้างต้นหรือไม่ดังนั้นจึงมีความเป็นเอกลักษณ์โดยสิ้นเชิงหรือไม่? กลุ่ม (ดั้งเดิมมากที่สุด) ซึ่งนำหน้ากลุ่มอื่นทั้งหมด111 นี่อาจฟังดูไม่ชัดดังนั้นนี่เป็นตัวอย่างทีละขั้นตอน : …

29
นับรวมตัวอักษรที่เป็นไปได้ทั้งหมดใน Word
คุณได้รับสตริงซึ่งจะมีอักขระ az สามัญ (คุณสามารถสันนิษฐานได้ว่านี่จะเป็นกรณีในการทดสอบใด ๆ และสมมติว่าตัวอักษรทั้งหมดจะเป็นตัวพิมพ์เล็กเช่นกัน) คุณต้องพิจารณาจำนวนชุดค่าผสมที่ไม่ซ้ำกันที่สามารถทำจากอักขระแต่ละตัวในสตริงและพิมพ์หมายเลขนั้น อย่างไรก็ตามตัวอักษรที่ซ้ำกันสามารถละเว้นได้ในการนับชุดค่าผสมที่เป็นไปได้ กล่าวอีกนัยหนึ่งถ้าสตริงที่กำหนดคือ "สวัสดี" การเปลี่ยนตำแหน่งของทั้งสองlนั้นไม่ถือว่าเป็นวลีที่ไม่ซ้ำกันดังนั้นจึงไม่สามารถนับรวมได้ จำนวนไบต์ที่สั้นที่สุดจะเป็นผู้ชนะรอคอยที่จะเห็นโซลูชันสร้างสรรค์ในภาษาที่ไม่ใช่กอล์ฟ! ตัวอย่าง: hello -> 60 aaaaa -> 1 abcde -> 120
12 code-golf  string 

30
พิมพ์ไบต์ที่ป้อนล่าสุด
ท้าทาย คุณมีหนึ่งไบต์ของอินพุตไบต์ส่งออกไบต์สุดท้ายในนั้น กฎระเบียบ การส่งของคุณอาจเป็นโปรแกรมหรือฟังก์ชั่นที่ส่งออกไบต์สุดท้ายในอินพุตที่ เป็นอาร์กิวเมนต์สตริง, stdinหรือ command-line และ ไม่ว่างเปล่า ฉันพยายามที่จะแก้ปัญหานี้ด้วย brainfuck แต่ทุกภาษาได้รับอนุญาตให้เข้าร่วม นี่คือรหัสกอล์ฟ ตัวอย่าง "?" -> "?" "29845812674" -> "4" แคตตาล็อก สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างแคตตาล็อกจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นลีดเดอร์บอร์ดโดยรวม เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: ## Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในบรรทัดแรกโดยการตีพวกเขาผ่าน ตัวอย่างเช่น ## Ruby, <s>104</s> <s>101</s> 96 bytes หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของสองไฟล์หรือคุณต้องการแสดงรายการการลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว: ## Perl, 43 + …
12 code-golf  string 

8
เครื่องคิดเลขแบล็คแจ็อก
แบล็คแจ็คหรือที่รู้จักกันในชื่อยี่สิบเอ็ดเป็นเกมไพ่เปรียบเทียบระหว่างคุณกับดีลเลอร์ซึ่งผู้เล่นแต่ละคนจะแข่งขันกับดีลเลอร์ แต่ผู้เล่นไม่ได้เล่นกันเอง เล่นไปดังนี้ตัวแทนจำหน่ายเกี่ยวข้องกับการ์ด เจ้ามือจะแจกการ์ดให้ตนเองโดยคว่ำหน้าลง ตัวแทนจำหน่ายจะแจกไพ่ให้คุณอีกใบ ในที่สุดตัวแทนจำหน่ายแจกบัตรด้วยตนเองโดยหงายหน้าขึ้น ท้าทาย ความท้าทายของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่เมื่อเรียกใช้ (หรือเรียกว่า) ผลลัพธ์ (หรือผลตอบแทน) ความน่าจะเป็นที่การ์ดใบต่อไปของเจ้ามือจะให้คุณจะทำให้คุณสะดุดซึ่งหมายถึงคะแนนสะสมของไพ่ในมือ เจ้ามือให้ไพ่ใบใหม่แก่คุณมากกว่า 21 ใบ อินพุต ไพ่สามใบที่มองเห็นได้ในการเล่น พวกเขาเป็นไพ่สองใบที่คุณมีในมือของคุณและไพ่ใบเดียวที่คุณเห็นในมือตัวแทนจำหน่าย สามารถอยู่ในรูปแบบใดก็ได้ที่คุณเห็นว่าเหมาะสมกับแอปพลิเคชันของคุณ มีไพ่ 52 ใบในสำรับ (ไพ่ 4 ใบแต่ละใบด้านล่าง) มูลค่าของการ์ดมีดังนี้: Symbol(Case Insensitive) Name Value 2 Two 2 3 Three 3 4 Four 4 5 Five 5 6 Six 6 7 Seven 7 …

7
ตีกอล์ฟแอนนาแกรมของคุณเพื่อคุณภาพที่ดี!
งาน ในความท้าทายนี้งานของคุณคือการเขียนโค้ดบางส่วนซึ่งส่งออกหนึ่งแอนนาแกรมที่เลือกแบบสุ่มด้วยการแจกแจงแบบสม่ำเสมอ แต่ไม่ควรเอาท์พุทตัวเองออกมา รายละเอียดเพิ่มเติม ไม่มีการป้อนข้อมูลโปรแกรมของคุณควรส่งออกหนึ่งในแอนนาแกรมของรหัสที่มา โปรแกรมของคุณไม่ควรส่งออกแหล่งที่มาของตัวเองเช่นมันไม่ควรจะเป็นควิน อินพุต โปรแกรมของคุณต้องไม่ป้อนข้อมูลใด ๆ อย่างไรก็ตามหากภาษาของคุณต้องการการป้อนข้อมูลที่จำเป็นคุณอาจคิดว่ามันจะเป็นตัวพิมพ์เล็กaแต่ถ้าภาษาของคุณต้องมีการป้อนข้อมูลเป็นความจำเป็นที่คุณอาจคิดว่ามันจะได้รับตัวพิมพ์เล็กคุณต้องไม่ใช้อินพุตในทางใด ๆ เอาท์พุต โปรแกรมของคุณสามารถแสดงผลในลักษณะใด ๆ ยกเว้นการเขียนลงในตัวแปร อนุญาตให้เขียนไฟล์คอนโซลหน้าจอและอื่น ๆ ได้ ฟังก์ชั่นreturnได้รับอนุญาตเช่นกัน กฎเพิ่มเติม ซอร์สโค้ดของโปรแกรมของคุณต้องมีอย่างน้อย 3 ตัวอักษร (ไม่ใช่ 3 ไบต์) ซอร์สโค้ดของโปรแกรมของคุณจะต้องมีอย่างน้อย 3 แอนนาแกรม (ยกเว้นตัวเอง) ตัวอย่างเช่นaabไม่นับเป็นการส่งที่ถูกต้องเนื่องจากaabมีเพียงสองแอนนาแกรมที่ไม่ใช่aab( baaและaba) โปรแกรมของคุณจะต้องไม่เกิดข้อผิดพลาดใด ๆ โปรแกรมของคุณควรเอาท์พุทอักษรว่า มาตรฐานช่องโหว่และมาตรฐานกฎควินใช้ ตัวอย่าง abcสมมติว่ารหัสที่มาของโปรแกรมคือ มันควรสุ่มเอาท์พุทอย่างใดอย่างหนึ่งดังต่อไปนี้ (มีการแจกแจงแบบสม่ำเสมอ): acb bca bac cba cab abcและก็ไม่ควรเอาท์พุท เกณฑ์การชนะ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ! ในกรณีที่เสมอกันโซลูชันที่โพสต์ก่อนหน้านี้ชนะ!

4
เคล็ดลับสำหรับการเล่นกอล์ฟใน ///
สิ่งใดที่คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟใน/// ? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะ / / (เช่น "ลบช่องว่างที่ไม่จำเป็น" ไม่ใช่คำตอบ) เคล็ดลับสำหรับitflabtijtslwiและLinesอยู่ในหัวข้อและใช้ได้ที่นี่เช่นกัน กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
12 code-golf  tips 

1
นักเคมีที่บ้าและโปรแกรมเมอร์ที่ฉลาด
backstory คุณตื่นขึ้นมาอาการวิงเวียนศีรษะในห้องทดลองทางเคมีและคุณรู้ว่าคุณถูกนักเคมีอายุมากถูกลักพาตัวไป เนื่องจากเขาไม่สามารถมองเห็นได้ดีเนื่องจากอายุของเขาเขาต้องการให้คุณทำงานเพื่อเขาและเมื่อนั้นคุณสามารถหนีจากห้องปฏิบัติการได้ งาน เป็นหน้าที่ของคุณในการส่งคืนสูตรโครงสร้างของโมเลกุลที่จะให้สูตรทางเคมีเป็นอินพุต โปรดทราบว่าจะใช้เฉพาะอะตอมคาร์บอน ( C), ออกซิเจน ( O) และไฮโดรเจน ( H) เท่านั้นเป็นอินพุต ซึ่งแตกต่างจากในสูตรทางเคมี a 0คือตัวระบุปริมาณที่ถูกต้องและ1ไม่สามารถละเว้นได้ (เช่นC1H4O0อินพุตที่ถูกต้อง แต่CH4ไม่ใช่) เพื่อป้องกันความคลุมเครือเราจะถือว่าพันธะคู่และสามไม่ปรากฏในโมเลกุล อะตอมคาร์บอนทั้งหมดต้องการ 4 พันธะเดี่ยวอะตอมออกซิเจนทั้งหมดต้องการ 2 และอะตอมไฮโดรเจนต้องการหนึ่ง นอกจากนี้เรายังสมมติว่าO-Oไม่มีพันธบัตรเช่นกัน โมเลกุลไม่จำเป็นต้องมีอยู่หรือไม่เสถียร อินพุตจะไม่ประกอบด้วย3อะตอมของคาร์บอนมากกว่าเพื่อให้แน่ใจว่าความสว่างในการแสดงผลของเอาต์พุต คุณควรแสดงโมเลกุลที่มีอะตอมของคาร์บอนจัดเรียงเป็นเส้นตรงโดยไม่หยุดชะงัก เออร์โกไม่มีC-O-Cพันธบัตร คุณต้องส่งคืนโมเลกุลที่เป็นไปได้ทั้งหมดซึ่งไม่รวมอยู่ในกฎก่อนหน้านี้ คุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้อง ตัวอย่างต่อไปนี้แสดงวิธีแก้ปัญหาทั้งหมดที่คุณต้องจัดการกับโมเลกุลนั้น การหมุน 180 องศาในระนาบของหน้าหนึ่งในสูตรของโมเลกุลนั้นถือเป็นความซ้ำซ้อนและไม่จำเป็นต้องแสดง ในตัวอย่างด้านล่างฉันจะแสดงสูตรที่เป็นไปได้ทั้งหมดสำหรับโมเลกุลจากนั้นชี้ให้เห็นสิ่งที่ไม่จำเป็นต้องแสดง ตัวอย่าง การป้อนข้อมูล: C2H6O2 อันดับแรกนี่คือสูตรทั้งหมดที่เป็นไปได้สำหรับข้อมูลนี้ (ขอบคุณ @Jonathan Allan) 01 H | O H …

11
นับจำนวนเดือนที่มี 31 วันเต็มโดยการนับนิ้ว
มีกี่คนที่ยังคงใช้ข้อนิ้วของคุณเพื่อตรวจสอบว่าหนึ่งเดือนเต็ม 31 วันหรือน้อยกว่า งานของคุณคือการเขียนโปรแกรมเพื่อนับจำนวนเดือนในช่วงหนึ่งเดือนที่จะมี 31 วันเต็มและจำนวนที่มีน้อยกว่า 31 วันโดย "การนับนิ้ว" มารยาท: amsi.org.au อินพุต คู่ของเดือนซึ่งไม่ต้องมาตามลำดับก่อนที่สองในรูปแบบที่เหมาะสม ตัวอย่างเช่น: 201703 201902- มีนาคม 2017 ถึงกุมภาพันธ์ 2019 โปรดอธิบายรูปแบบการป้อนข้อมูลที่คุณเลือก โปรดทราบว่าอินพุตจะต้องสามารถรวมทุกปีตั้งแต่ 1 ถึง 9999 ช่วงเดือนที่ระบุรวมถึงทั้งเดือนเริ่มต้นและเดือนสิ้นสุด เอาท์พุต สองจำนวนเต็ม: จำนวนเดือนในช่วงที่กำหนดด้วย 31 วันและจำนวนเดือนในช่วงที่น้อยกว่า 31 วัน ตัวอย่าง: 14 10- สนับมือ 14 อันร่อง 10 อัน (หมายความว่าในช่วงเดือนนั้นเรามี 14 เดือนที่มี 31 วันเต็มและ 10 เดือนที่น้อยกว่า 31 วัน) …

7
วาดไดอะแกรมการกำหนดเวลาดิจิทัล XNOR
ด้านล่างนี้คือแผนผังกำหนดเวลาแบบดิจิทัล (วงจร) สำหรับเกตตรรกะXNOR ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └── ┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ X ──┘ └───┘ └───┘ └───┘ └──── เป้าหมายของคุณคือทำซ้ำตามที่อธิบายไว้ กฎ: คุณสามารถพิมพ์หรือคืนสตริงหลายบรรทัด อนุญาตให้ใช้จำนวนการสุ่มและ / หรือการขึ้นบรรทัดใหม่ชั้นนำได้ อนุญาตให้ใช้ช่องว่าง Trailing (แต่ไม่นำหน้า!) …

1
เอาชนะการแสดงออกปกติอย่างบริสุทธิ์ที่การตรวจสอบความถูกต้อง ISO 8601 วันที่
ในการตรวจสอบการรับรองมาตรฐาน ISO 8601 โดย RXความท้าทายคือการใช้เพียงการแสดงออกปกติมาตรฐานในการตรวจสอบรูปแบบวันที่มาตรฐานและค่า (อดีตเป็นงานทั่วไปสำหรับ RX หลังเป็นเรื่องผิดปกติ) คำตอบที่ชนะใช้ 778 ไบต์ ความท้าทายนี้คือการเอาชนะโดยใช้ภาษาที่คุณเลือก แต่ไม่มีฟังก์ชั่นวันที่หรือชั้นเรียนพิเศษ ท้าทาย ค้นหารหัสที่สั้นที่สุดที่ ตรวจสอบทุกวันที่เป็นไปได้ในปฏิทินเกรกอเรียนProleptic (ซึ่งใช้กับทุกวันก่อนที่จะมีการนำไปใช้ครั้งแรกในปี 1582) ไม่ตรงกับวันที่ไม่ถูกต้องและ ไม่ใช้ฟังก์ชันวิธีการคลาสโมดูลหรือสิ่งที่คล้ายกันสำหรับการจัดการวันที่ (และเวลา) ที่กำหนดไว้ล่วงหน้าเช่นอาศัยการทำงานของสตริงและตัวเลข เอาท์พุต ผลผลิตเป็นจริงหรือเท็จ ไม่จำเป็นต้องเอาท์พุทหรือแปลงวันที่ อินพุต อินพุตเป็นสตริงเดี่ยวในรูปแบบวันที่ISO 8601ที่ขยายเพิ่ม 3 รูปแบบ - ไม่มีเวลา สองรายการแรกคือ±YYYY-MM-DD(ปีเดือนวัน) และ±YYYY-DDD(ปีวัน) ทั้งสองต้องการปลอกพิเศษสำหรับวันอธิกสุรทิน พวกมันถูกจับคู่อย่างไร้เดียงสาโดย RXs ที่ขยายเพิ่มเหล่านี้ (?<year>[+-]?\d{4,})-(?<month>\d\d)-(?<day>\d\d) (?<year>[+-]?\d{4,})-(?<doy>\d{3}) รูปแบบอินพุตที่สามคือ±YYYY-wWW-D(ปี, สัปดาห์, วัน) มันเป็นสิ่งที่ซับซ้อนเพราะรูปแบบการกระโดดสัปดาห์ที่ซับซ้อน (?<year>[+-]?\d{4,})-W(?<week>\d\d)-(?<dow>\d) เงื่อนไข ปีอธิกสุรทินในปฏิทินเกรกอเรียนโกเรียนมีวันก้าวกระโดด …-02-29และทำให้มันเป็น 366 วันนานจึง…-366มีอยู่ …
12 code-golf  date 

2
กลุ่ม Abelian อัน จำกัด อันนี้คืออะไร?
ลักษณะ เขียนฟังก์ชั่นf(m, G)ที่ยอมรับเป็นข้อโต้แย้งของการทำแผนที่mและชุด / รายการที่แตกต่างกัน Gintegers mควร map คู่ของจำนวนเต็มในจำนวนเต็มใหม่G G( G, m) รับประกันว่าจะสร้างกลุ่ม Abelianแน่นอนแต่องค์ประกอบใด ๆ ของGอาจเป็นตัวตน มีทฤษฎีบทสำคัญที่บอกว่า: [แต่ละกลุ่ม Abelian จำกัด ] isomorphic กับผลิตภัณฑ์โดยตรงของกลุ่มวงจรของการสั่งซื้อพลังงานที่สำคัญ fจะต้องส่งคืนรายการมหาอำนาจ[p1, ... pn]ตามลำดับจากน้อยไปมากเช่นนั้น ตัวอย่าง f((a, b) → (a+b) mod 4, [0, 1, 2, 3])ควรกลับ[4]เป็นพารามิเตอร์ที่อธิบายกลุ่มZ 4 f((a, b) → a xor b, [0, 1, 2, 3])ควรกลับ[2, 2]เป็นพารามิเตอร์ที่อธิบายกลุ่ม isomorphic …

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