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

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

12
นำเมทริกซ์มารวมกับผลรวม
ท้าทาย: ให้เมทริกซ์อินพุตจตุรัสAให้เลื่อนเมทริกซ์ด้วยหนึ่งแถวและหนึ่งคอลัมน์ในทั้งสี่ด้าน ค่าของแต่ละองค์ประกอบในแถวบนและล่างควรเป็นผลรวมขององค์ประกอบในแต่ละคอลัมน์ที่เกี่ยวข้อง ค่าของแต่ละองค์ประกอบในคอลัมน์ซ้ายและขวาควรเป็นผลรวมขององค์ประกอบในแต่ละแถวที่เกี่ยวข้อง ค่าขององค์ประกอบในมุมบนซ้ายและมุมขวาล่างควรเป็นผลรวมขององค์ประกอบในแนวทแยงมุม ค่าขององค์ประกอบที่มุมบนขวาและมุมซ้ายล่างควรเป็นผลรวมขององค์ประกอบในแนวต้าน ตัวอย่าง: A = 1 5 3 3 2 4 2 5 5 Output: 8 6 12 12 7 9 1 5 3 9 9 3 2 4 9 12 2 5 5 12 7 6 12 12 8 คำอธิบาย: ด้านบนซ้ายและองค์ประกอบด้านล่างขวาเป็นผลรวมของเส้นทแยงมุม1 + 2 + 5 …

12
Divinacci Sequence
Divinacci ( OEIS ) ดำเนินการลำดับฟีโบนักชี แต่แทนที่จะใช้: f(n) = f(n-1)+f(n-2) ใช้: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) สำหรับอินพุทของnเอาท์พุทคำที่ n โปรแกรมของคุณควรมีเพียง 1 อินพุท 14 คำแรก (0 ดัชนีคุณอาจ 1 ดัชนี; สถานะที่คุณใช้): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] …

17
มันตรงกับรูปแบบหลักหรือไม่?
เมื่อเร็ว ๆ นี้ฉันมีการทดสอบวิชาคณิตศาสตร์และสังเกตเห็นว่าตัวเลขในการสอบตรงกับรูปแบบที่น่าสนใจ หมายเลข ( 28384) ตรงกับลำดับหลักทั่วไปที่มีลักษณะเช่นนี้ (n)(x)(n+1)(x)(n+2)(x)(n+3) etc... ที่ไหนnและxเป็นจำนวนเต็มหลักเดียว ลำดับสามารถเริ่มต้นด้วยอย่างใดอย่างหนึ่งxหรือnและจบลงด้วยการอย่างใดอย่างหนึ่งหรือxn+y งานของคุณคือกำหนดจำนวนเต็มบวกหลายหลักส่งออกค่าจริงหรือเท็จขึ้นอยู่กับว่าการป้อนข้อมูลตรงกับรูปแบบ อินพุตจะอยู่ระหว่าง 4 ถึง 18 หลัก คุณอาจจะใส่เป็นตัวแทนสตริงของจำนวนเต็ม อินพุตจะไม่ขึ้นต้นด้วย 0 แต่สามารถมีหรือลงท้ายด้วย 0 n+y จะเป็นตัวเลขหลักเดียวเสมอ (ดังนั้นทำไมขีดจำกัดความยาวคือ 18) กรณีทดสอบ สิ่งเหล่านี้ควรสร้างมูลค่าที่แท้จริง 182838485868788898 4344 85868 12223242526 และสิ่งเหล่านี้ควรเป็นเท็จ 12345 6724013635 36842478324836 1222232425 5859510511 เช่นเดียวกับ golf code ทั้งหมดรหัสที่สั้นที่สุดชนะ! ขอให้โชคดีและอาจเป็นไปได้ที่คุณโปรดปราน!

16
วาดกล่อง ASCII ในกล่อง
ปัญหา รับอินพุต a,b,c ซึ่งa,b,cเป็นจำนวนเต็มบวกแม้ และ a > b > c ทำกล่องอักขระที่อนุญาตด้วยมิติข้อมูล a x a จัดกึ่งกลางกล่องอักขระที่อนุญาตแตกต่างกันโดยมีขนาดb x bอยู่ก่อนหน้า จัดกึ่งกลางกล่องของอักขระที่อนุญาตแตกต่างกันโดยมีขนาดc x cอยู่ภายในก่อนหน้า อักขระที่อนุญาตคืออักขระ ASCII ที่อยู่ใน [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+] อินพุต a=6, b=4, c=2 ###### #****# #*@@*# #*@@*# #****# ###### อินพุต a=8, b=6, c=2 ######## #******# #******# #**@@**# #**@@**# #******# #******# ######## อินพุต a=12, b=6, c=2 …

1
มันเป็นแคคตัสหรือไม่?
ในทฤษฎีกราฟแคคตัสเป็นกราฟที่เชื่อมต่อกันซึ่งมีวัฏจักรอย่างง่าย ๆ สองอันที่แตกต่างกันในกราฟส่วนแบ่งที่จุดสุดยอดเดียว นี่คือกระบองเพชรที่มี 3 รอบง่าย ๆ ที่มีเส้นประ กราฟต่อไปนี้คล้ายกับภาพด้านบน แต่ไม่ใช่แคคตัสเพราะจุดยอดสองจุดที่มีสีแดงถูกแชร์โดยรอบง่ายๆสองรอบ สิ่งต่าง ๆ อาจมีเล่ห์เหลี่ยมเล็กน้อยตัวอย่างเช่นกราฟต่อไปนี้: อาจดูเหมือนแคคตัส แต่ไม่ใช่ สามารถแสดงได้โดยเน้นรอบต่อไปนี้: รอบนี้ใช้ร่วมกันมากกว่าหนึ่งจุดที่มีจำนวนรอบที่ชัดเจนมากขึ้นในกราฟ คำนิยาม กราฟที่เชื่อมต่อกันเป็นกราฟที่มีเส้นทางอย่างน้อยหนึ่งเส้นทางระหว่างจุดยอดสองจุดใด ๆ วัฏจักรอย่างง่ายคือเส้นทางบนกราฟที่เริ่มต้นและสิ้นสุดที่จุดสุดยอดเดียวกันและไม่เยี่ยมจุดสุดยอดมากกว่าหนึ่งครั้ง กราฟที่เรียบง่ายคือกราฟที่ไม่มีทิศทางและไม่มีน้ำหนักซึ่งไม่มีจุดเชื่อมต่อซึ่งกันและกันโดยมีมากกว่าหนึ่งขอบและไม่มีจุดเชื่อมต่อกับตัวเอง กราฟง่าย ๆ เป็นกราฟพื้นฐานที่สุดและเป็นสิ่งที่คนส่วนใหญ่มีความหมายเมื่อพูดถึงกราฟ งาน ใช้กราฟอย่างง่ายเป็นอินพุตและตัดสินใจว่าเป็นกราฟ Cactus หรือไม่ คุณควรส่งออกสองค่าที่แตกต่างหนึ่งสำหรับจริงและหนึ่งสำหรับเท็จ คุณสามารถป้อนข้อมูลในรูปแบบที่คุณเห็นว่าเหมาะสม นี่คือโค้ดกอล์ฟดังนั้นคุณควรตั้งเป้าหมายที่จะลดจำนวนคำตอบลง กรณีทดสอบ กรณีทดสอบเป็น Adjacency Matrices

7
ห่วงโซ่การเติมสั้นที่สุด
เชนเพิ่มเติมคือลำดับของจำนวนเต็มเริ่มต้นด้วย 1 โดยที่ทุก ๆ จำนวนเต็มนอกเหนือจาก 1 เริ่มต้นคือผลรวมของจำนวนเต็มก่อนหน้านี้สอง ตัวอย่างเช่นนี่คือเชนเพิ่มเติม: [1, 2, 3, 4, 7, 8, 16, 32, 39, 71] นี่คือผลรวมที่ทำให้เป็นห่วงโซ่เพิ่มเติม: 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 3 + 4 = 7 1 + 7 = 8 8 + 8 = 16 16 …

18
พิมพ์สำรับไพ่ที่สับแล้ว
อินพุต ไม่มี เอาท์พุต 52 ใบ ไม่มีการซ้ำซ้อน การ์ดจะแสดงเป็นอักขระ Unicode เช่น🂹 ตัวเข้ารหัส Unicodeทำตามรูปแบบต่อไปนี้: 1F0ตัวเลขสามตัวแรกเป็น หลักต่อไปคือA, B, CหรือDสำหรับจอบหัวใจเพชรและคลับตามลำดับ ตัวเลขถัดไปคือ1ผ่านCและEสำหรับหมายเลข / การ์ดหน้าต่างๆ 1เป็นเอซ2- Aบัตรจำนวน, และB, DและEเป็นแจ็คราชินีและพระมหากษัตริย์ตามลำดับ ( Cคืออัศวินซึ่งไม่ได้อยู่ในสำรับส่วนใหญ่) ตัวอย่างผลลัพธ์: 🂶🃁🃛🃎🂧🂵🃗🂦🂽🂹🂣🃊🃚🂲🂡🂥🂷🃄🃃🃞🂺🂭🃑🃙🂪🃖🂳🃘🃒🂻🃆🂮🃍🂱🂴🃋🂸🃈🃅🃂🂨🃓🃉🂾🃇🂩🂢🂫🃔🃕 🂤🃝 กฎ: นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดชนะ ช่องว่างที่ต้องห้ามนั้นเป็นสิ่งต้องห้าม เด็คของคุณต้องถูกสุ่มจริง ๆ หากเรียกใช้ 20 ครั้งจะต้องสร้างเอาต์พุตแบบสุ่ม 20 รายการ (และมีแนวโน้มมากที่สุด) บันทึก ถ้าคุณจะเห็นกล่องติดตั้งแบบอักษร DejaVu

30
แบ่งสตริง
ท้าทาย รับสตริงและตัวเลขแบ่งสตริงออกเป็นส่วนขนาดเท่ากันจำนวนมาก ตัวอย่างเช่นถ้าจำนวน 3 คุณควรแบ่งสตริงออกเป็น 3 ชิ้นไม่ว่าสตริงจะยาวแค่ไหน หากความยาวของสตริงไม่ได้แบ่งเท่า ๆ กันตามจำนวนที่ระบุคุณควรปัดเศษขนาดของแต่ละชิ้นแล้วส่งกลับสตริง "เศษที่เหลือ" ตัวอย่างเช่นหากความยาวของสตริงอินพุตเท่ากับ 13 และตัวเลขคือ 4 คุณควรส่งคืนสี่สตริงแต่ละขนาด 3 รวมกับสตริงส่วนที่เหลือขนาด 1 หากไม่มีเศษเหลือคุณอาจไม่คืนค่าหรือคืนค่าสตริงว่าง หมายเลขที่ให้นั้นรับประกันว่าจะน้อยกว่าหรือเท่ากับความยาวของสตริง ตัวอย่างเช่นอินพุต"PPCG", 7จะไม่เกิดขึ้นเพราะ"PPCG"ไม่สามารถแบ่งออกเป็น 7 สตริง (ฉันคิดว่าผลลัพธ์ที่เหมาะสมจะเป็น(["", "", "", "", "", "", ""], "PPCG")มันง่ายกว่าที่จะไม่อนุญาตให้ป้อนข้อมูลนี้) ตามปกติ I / O ยืดหยุ่นได้ คุณอาจส่งคืนสตริงและสตริงที่เหลือหรือหนึ่งรายการของสตริงที่มีส่วนที่เหลือในตอนท้าย กรณีทดสอบ "Hello, world!", 4 -> (["Hel", "lo,", " wo", "rld"], "!") …
23 code-golf  string 

6
ผนวกหรือเติม? ขึ้นอยู่กับ
สมองสะบัดกลายเป็นวันพรุ่งนี้ปีหนึ่ง! เพื่อเป็นเกียรติแก่วันเกิดเรามีปาร์ตี้วันเกิดสไตล์ PPCG ที่ผู้ใช้หลายคนโพสต์คำถามที่เกี่ยวข้องกับสมอง! ช่วยเราเฉลิมฉลอง! :) Brain-flak เป็นภาษาลึกลับที่ฉันเขียนซึ่งคำสั่งทั้งหมดเป็นวงเล็บเหลี่ยมและวงเล็บทั้งหมดต้องตรงกันอย่างสมบูรณ์ ในการขอยืมคำจำกัดความของตัวเอง : สำหรับวัตถุประสงค์ของการท้าทายนี้เป็น "วงเล็บ" ใด ๆ ()[]{}<>ของตัวละครเหล่านี้: เครื่องหมายวงเล็บคู่หนึ่งถือว่าเป็น "จับคู่" หากวงเล็บเปิดและปิดอยู่ในลำดับที่ถูกต้องและไม่มีอักขระอยู่ภายในเช่น () []{} หรือถ้าทุกองค์ประกอบย่อยภายในนั้นถูกจับคู่ด้วย [()()()()] {<[]>} (()()) องค์ประกอบย่อยยังสามารถซ้อนกันหลายชั้นลึก [(){<><>[()]}<>()] <[{((()))}]> สตริงถือเป็น "จับคู่อย่างสมบูรณ์" ถ้าหาก: ตัวละครทุกตัวจะเป็นตัวยึด วงเล็บแต่ละคู่มีวงเล็บเปิดและปิดที่ถูกต้องและอยู่ในลำดับที่ถูกต้อง ในการเฉลิมฉลองวันคล้ายวันเกิดครั้งแรกของสมองความท้าทายในวันนี้เกี่ยวกับการใช้ชุดวงเล็บที่ไม่สมดุล ตัวอย่างเช่น((ไม่เป็นรหัสสะเก็ดของสมองที่ถูกต้อง แต่ถ้าเราผนวก))เข้าด้วยกันมันจะกลายเป็น(())ซึ่งมีความสมดุลอย่างสมบูรณ์ ที่ทำให้การป้อนข้อมูลนี้appendable ในทำนองเดียวกัน>}ไม่ถูกต้อง แต่เราสามารถเติม{<ให้มันเพื่อทำ{<>}ซึ่งถูกต้อง นั่นทำให้อินพุตนี้สามารถเตรียมตัวล่วงหน้าได้ อินพุตบางตัวมีความซับซ้อนมากกว่าเล็กน้อย ตัวอย่างเช่น)][({ไม่สามารถใช้งานได้อย่างหมดจดโดยการผนวกหรือต่อท้าย แต่มันก็สามารถที่จะทำถูกต้องโดย prepending และท้าย[( })]ดังนั้นการป้อนข้อมูลนี้เป็นทั้งprependableและappendable สุดท้ายอินพุตบางตัวไม่สามารถสร้างรหัสที่ทำให้เกิดการสะกิดในสมองได้โดยการผนวกหรือต่อท้าย ตัวอย่างเช่น(>ไม่สามารถทำให้ถูกต้องได้ (การ<สร้างที่เตรียม<(>ไว้และการ)สร้างที่ต่อท้าย(>)ซึ่งไม่ถูกต้อง) ดังนั้นอินพุตนี้ไม่สามารถต่อท้ายหรือต่อท้ายได้ สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สตริงของวงเล็บและพิจารณาว่าเป็นสตริงหรือไม่ …

30
ลำดับมังกร Curve
ลำดับโค้งมังกร (หรือกระดาษปกติลำดับพับ) เป็นลำดับไบนารี a(n)จะได้รับจากการปฏิเสธของบิตซ้ายของอย่างมีนัยสำคัญน้อย 1 nของ เช่นการคำนวณa(2136)เราจะแปลงเป็นไบนารี่ก่อน: 100001011000 เราพบว่าบิตที่สำคัญน้อยที่สุดของเรา 100001011000 ^ นำบิตไปทางซ้าย 100001011000 ^ และคืนการปฏิเสธของมัน 0 งาน รับจำนวนเต็มบวกเป็นอินพุตเอาต์พุต a(n)ให้ไว้เป็นจำนวนเต็มบวกเป็นนำเข้าส่งออก (คุณอาจส่งออกจำนวนเต็มหรือบูลีน) คุณควรตั้งรหัสของคุณให้เล็กที่สุดเท่าที่จะทำได้โดยวัดเป็นไบต์ กรณีทดสอบ นี่คือ 100 รายการแรกในการสั่งซื้อ 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 …

10
เม็ดฝนกำลังตกลงมาบน ... แว่นของฉัน
ฉันอาศัยอยู่ในสหราชอาณาจักรที่ซึ่งฝนตก มาก. ฉันยังมีความจำเป็นโชคร้ายที่ต้องสวมแว่นตาเพื่อดูซึ่งหมายความว่าเมื่อฝนตก (ตามที่เป็นอยู่ในปัจจุบัน) ฉันแทบจะไม่สามารถมองเห็นพวกเขาได้ ความท้าทายนี้คือเพื่อให้คุณทุกคนได้สัมผัสเหมือนกัน! งาน เอาท์พุทแว่นตา ASCII ศิลป์พร้อมหยดน้ำที่เพิ่มในแต่ละวินาที อินพุต ไม่มี เอาท์พุต คู่ของแว่นตากับหยดน้ำบนพวกเขา แว่นตา ________________________ | /__\ | | / \ | | / \ | \_______/ \_______/ เม็ดฝน .น้ำฝนจะแสดงโดย หยดน้ำฝนจะถูกวางแบบสุ่มบนเลนส์ของแว่นตา ดังนั้นเมื่อวางสายฝนแว่นตาอาจมีลักษณะเช่นนี้ ________________________ | /__\ | | . / \ | | / \ | \_______/ \_______/ หากวางไว้ในพื้นที่ว่าง ( …

16
สุ่มกอล์ฟประจำวัน # 8: สุ่มรายการที่ไม่มีที่สิ้นสุด
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลกับซีรีย์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก หลุม 8: สุ่มรายการที่ไม่มีที่สิ้นสุด คุณควรเขียนฟังก์ชันหรือโปรแกรมที่รับรายการอนันต์เป็นอินพุตและส่งคืนเวอร์ชันแบบสับของรายการนั้น เกี่ยวกับ I / O ไม่มีที่สิ้นสุด มีหลายวิธีที่คุณสามารถรับอินพุตและสร้างเอาต์พุตสำหรับความท้าทายนี้: คุณสามารถเลือกรายการจำนวนเต็มบวกหรือการแทนสตริงดังกล่าวหรือสตริงหรือรายการอักขระ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E, รวมไว้ด้วย) รูปแบบผลลัพธ์ต้องตรงกับรูปแบบอินพุต ฉันจะดูข้อมูลว่า "รายการ" ต่อจากนี้ไปไม่ว่าคุณจะเลือกตัวเลือกใด คุณสามารถอ่านรายการจากอินพุตมาตรฐานแบบไม่สิ้นสุดและเขียนเอาต์พุตอย่างต่อเนื่องไปยังเอาต์พุตมาตรฐานแบบไม่สิ้นสุด การแก้ปัญหาไม่ควรขึ้นอยู่กับค่าเฉพาะหรือลำดับของค่าใด ๆ เพื่อให้แน่ใจว่าเอาต์พุตสตรีมจะถูกเขียนและล้างข้อมูลอย่างสม่ำเสมอ (เช่นคุณไม่สามารถเขียนเอาต์พุตเมื่อใดก็ตามที่มี5ในรายการอินพุต) แน่นอนถ้าคุณอ่านการแทนค่าสตริงของรายการคุณจะต้องรอจนกว่าจะเจอตัวคั่นรายการ ในภาษาที่รองรับพวกเขาคุณสามารถเขียนฟังก์ชั่นที่รับและส่งคืนรายการหรือสตริงที่ไม่มีที่สิ้นสุดที่ขี้เกียจ ในภาษาที่สนับสนุนพวกเขาคุณอาจใช้เครื่องมือสร้างที่ไม่มีที่สิ้นสุดซึ่งใช้ตัวสร้างอื่นเป็นอินพุต หรือคุณสามารถเขียนฟังก์ชั่นที่ไม่มีข้อโต้แย้งและคืนค่าเอาต์พุตหนึ่งค่าในแต่ละครั้งที่เรียกใช้ ในกรณีนี้คุณสามารถสันนิษฐานได้ว่าฟังก์ชั่นได้รับการกำหนดซึ่งจะไม่มีข้อโต้แย้งและส่งกลับค่าการป้อนข้อมูลต่อไปในแต่ละครั้งที่มันถูกเรียก คุณสามารถเลือกชื่อของฟังก์ชันนั้นได้อย่างอิสระ คุณอาจสมมติว่าโปรแกรมของคุณทำงานตลอดไปและมีหน่วยความจำที่ไม่มีที่สิ้นสุด (เป็นไปได้ที่จะแก้ปัญหานี้ด้วยจำนวนหน่วยความจำที่ จำกัด แต่สิ่งนี้หมายความว่าคุณได้รับอนุญาตให้หน่วยความจำรั่วไหล) เกี่ยวกับการสุ่ม สำหรับค่าใด ๆvที่อ่านที่ตำแหน่งiของอินพุตไม่สิ้นสุดจะต้องมีความเป็นไปได้ในเชิงบวกที่จะสิ้นสุดในตำแหน่งใด ๆi-9ถึงi +9ของเอาต์พุตแบบไม่ จำกัด (เว้นแต่ตำแหน่งนั้นจะเป็นค่าลบ ) …

15
ค้นหาจำนวนตัวอักษรและตัวเลขที่สามารถสร้างขึ้นจากตัวเลขเดียว
อักขระตัวอักษรและตัวเลขมีค่า ASCII: 0-9 -> 48-57 A-Z -> 65-90 a-z -> 97-122 ความท้าทายของคุณคือการใช้จำนวนเต็มเป็นอินพุทและเอาท์พุทจำนวนอักขระที่สามารถทำได้โดยใช้ตัวเลขที่ต่อเนื่องกันของตัวเลขนั้น รหัสอักขระอาจทับซ้อนกัน 666ควรส่งผล2ให้เนื่องจากคุณมี66สองครั้ง กรณีทดสอบ: Input: 5698 Possible characters: '8' (56), 'E' (69), 'b' (98) Output: 3 Input: 564693 Possible characters: '8' (56), 'E' (69) Output: 2 Input: 530923864209124521 Possible characters: '5' (53), 'V' (86), '4' (52) Output: 3 Input: …
23 code-golf  string 

3
รูปภาพของมังกร
ฉันเห็นรูปโค้งมังกรคู่แฝดที่ทำจากสี่เหลี่ยมและสงสัยว่าจะเกิดอะไรขึ้นถ้าเราเริ่มจากภาพฐานอีกภาพ ดังนั้นฉันจึงเขียนโปรแกรมเพื่อทำสิ่งนี้ มันเจ๋งมากที่ฉันคิดว่ามันจะสนุกที่จะทำมันเป็นความท้าทาย งาน คุณจะถ่ายภาพสี่เหลี่ยมจัตุรัสที่มีความยาวขอบซึ่งเท่ากับกำลัง 2 (มากกว่า 4) ในการทำให้ภาพนี้คุณควรเริ่มต้นด้วยการแบ่งภาพของคุณออกเป็นวงแนวตั้ง 4 วงที่มีขนาดเท่ากันและเลื่อนแถบที่อยู่ติดกันหนึ่งใน 8 ของขนาดของภาพในทิศทางตรงกันข้าม (วงที่เลื่อน จากนั้นคุณควรทำขั้นตอนนี้ซ้ำทุกครั้งที่แบ่งภาพออกเป็นสองเท่าของหลาย ๆ แผนกและเลื่อนครึ่งเท่าของเวลาก่อนหน้า การวนซ้ำแต่ละครั้งคุณควรสลับระหว่างการเลื่อนแนวตั้งและแนวนอน คุณควรวนซ้ำจนกว่าการเลื่อนจะทำให้คุณต้องเลื่อนตามจำนวนพิกเซลแบบเศษส่วน (ซึ่งจะเป็น 1/2 เสมอ) ณ จุดที่คุณทำ เมื่อเลื่อนแถบเลขคี่แนวตั้งจากซ้าย (ดัชนีเป็นศูนย์) ควรเลื่อนลงในขณะที่เลื่อนขึ้น เมื่อเลื่อนแถบเลขคี่แนวนอนจากด้านบนควรเลื่อนไปทางซ้ายในขณะที่เลขที่มีวงก็ควรเลื่อนไปทางขวา คุณต้องการเพียงผลลัพธ์ / แสดงผลลัพธ์สุดท้ายของการแปลงไม่ใช่ขั้นตอนกลางทั้งหมดเช่นใน gif นี่คือโค้ดกอล์ฟดังนั้นเป้าหมายคือเพื่อลดความยาวของซอร์สโค้ดของคุณตามที่วัดเป็นไบต์ ทำงานผ่านตัวอย่าง ฉันจะทำงานผ่าน cat gif ที่แสดงที่ด้านบนของเฟรมหน้าทีละเฟรม นี่คือภาพเริ่มต้น: ภาพนี้คือ 512 คูณ 512 พิกเซล เราจะแบ่งออกเป็น 4 แบนด์เพื่อเริ่มและเลื่อนแต่ละแบนด์โดย 1/8 ขนาดภาพ (64 …

10
มดบนบันทึกธรรมชาติ
นี่เป็นความท้าทายเริ่มต้นที่ดีและเป็นนักฆ่าเวลาที่ดี ฉันเพียงแค่พูดว่า - บันทึก - ธรรมชาติเพราะชื่อสั้นเกินไปนี่ไม่มีส่วนเกี่ยวข้องกับลอการิทึม รับ 2 ตัวแปร: nจำนวนของมด wความกว้างของการเข้าสู่ระบบ การส่งออกเข้าสู่ระบบของความกว้างwกับnมด (ตัวอย่างแสดงให้เห็นw=3,n=6 ) | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ /o\ /o\ | | ^ ^ ^ | | | | \O/ \O/ \O/ | | -O- -O- -O- | | /o\ …

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