การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

4
ผู้ช่วยแยกตัวประกอบของแฟร์มาต์
เราต้องการที่จะ factorize semiprime Nเป้าหมายของการท้าทายนี้คือการหาจำนวนเต็มสองจำนวนขนาดเล็กUและvดังกล่าวว่ายูv Nสามารถ factorized นิด ๆ ด้วยวิธีการของแฟร์มาต์จึงอนุญาตให้หักค่าใช้จ่ายได้อย่างง่ายดายปัจจัยของNNNNuuuvvvuvNuvNuvNNNN งาน รับsemiprime และจำนวนเต็มบวกkเรานิยามxและyเป็น:NNNkkkxxxyyy y=x2-kNx=⌈kN−−−√⌉x=⌈kN⌉x=\lceil\sqrt{kN}\rceil y=x2−kNy=x2−kNy=x^2-kN ขั้นตอนที่ # 1 - ค้นหาkkk ก่อนอื่นคุณต้องหาค่าที่เป็นไปได้ที่เล็กที่สุดของดังกล่าวว่าปีเป็นจำนวนตาราง ( akaตารางที่สมบูรณ์)kkkyyy นี้จะช่วยให้ Factorize ด้วยซ้ำเดียวของวิธีการแยกตัวประกอบของแฟร์มาต์ ยิ่งเป็นรูปธรรมสิ่งนี้นำไปสู่:kNkNkN kN=(x+y√)×(x−y√)kN=(x+y)×(x−y)kN=(x+\sqrt{y})\times(x-\sqrt{y}) (อัปเดต: ลำดับนี้เผยแพร่ในขณะนี้เป็นA316780 ) ขั้นตอนที่ # 2 - แยกตัวประกอบkkk จากนั้นคุณต้องค้นหาจำนวนเต็มบวกทั้งสองตัวและvเช่นนั้น:uuuvvv c u = x + √uv=kuv=kuv=k dv=x- √cu=x+y√cu=x+ycu=x+\sqrt{y} dv = x - y√dv=x−ydv=x-\sqrt{y} ที่และDเป็นปัจจัยที่สำคัญของNคccdddยังไม่มีข้อความNN …

18
สร้างเครื่องมือแก้ไขเส้นอย่างง่าย
ใน:สตริงที่ไม่มีตัวแบ่งบรรทัด * อนุญาตให้ผู้ใช้แก้ไขและส่งบรรทัด ออก:สตริงที่แก้ไข (อาจเป็นทางเลือกที่มีการลากบรรทัดต่อท้าย) ตัวแก้ไขบรรทัดอย่างน้อยต้องอนุญาตให้ผู้ใช้: เลื่อนเคอร์เซอร์ที่มองเห็นไปทางซ้ายและขวา แทรกและ / หรือเขียนทับอักขระที่ตำแหน่งเคอร์เซอร์ ลบอักขระที่ตำแหน่งเคอร์เซอร์ ส่งสตริงใหม่นั่นคือการหยุดแก้ไขทำให้สตริงที่แก้ไขถูกส่งคืน / พิมพ์ / แสดง / บันทึก ... (โดยไม่มีข้อความอื่น) ชื่นชม แต่ไม่จำเป็น: คำอธิบายรหัสของคุณ ลิงก์ไปยังเว็บไซต์ทดสอบออนไลน์ที่สามารถสาธิตโปรแกรม / ฟังก์ชั่นของคุณ ภาพเคลื่อนไหวแสดงการใช้งาน (ตัวอย่างเช่น TIO ไม่อนุญาตการโต้ตอบ) บันทึก: การโยงคีย์เป็นคำแนะนำเท่านั้น ไม่จำเป็นต้องใช้ GUI หรือการออกแบบภาพ ตัวอย่าง _ในต่อไปนี้เคอร์เซอร์จะมีภาพประกอบด้วย ใน: Just some text อนุญาตให้ผู้ใช้แก้ไข: Just some text_ ผู้ใช้กด←(ปุ่มลูกศรซ้าย) เก้าครั้ง Just ̲some text …

9
หมายเลขโทรศัพท์ที่อ่านไม่ออก
คุณรู้ว่าคุณได้รับข้อความเสียงและการเชื่อมต่อของบุคคลนั้นไม่ดีและคุณพยายามหาวิธีโทรกลับ แต่คุณไม่แน่ใจว่าเป็น "5" หรือ "8" พวกเขา กล่าวว่า? นั่นคือความท้าทายนี้ ข่าวดีก็คือผู้โทรอ่านหมายเลขของพวกเขาสองครั้ง แต่อ่านไม่ออกทั้งสองแห่ง โปรแกรมของคุณควรรับข้อมูลดังนี้: 5551231234 / 5551231234 โดยที่สิบหลักแรกเป็นครั้งแรกที่มีการพูดหมายเลขโทรศัพท์ในวอยซ์เมลและชุดที่สองเป็นครั้งที่สองที่มีการพูด เฉพาะ ... มันจะมีลักษณะเช่นนี้มากขึ้น: 555?ABC1_36? / 55?522_1?234 ตัวเลขที่ตามมาด้วยเครื่องหมายคำถามหมายความว่าเป็นสิ่งที่ดีที่สุดที่เดาได้สำหรับตัวเลขนั้น (เช่น "5?" หมายถึง "อาจเป็น 5, เปรียบเทียบกับการทำซ้ำ") ขีดเส้นใต้หมายถึงตัวเลขที่หายไปซึ่งเป็นที่รู้จักบางสิ่งบางอย่างที่คลุมเครือเกินกว่าที่จะถูกถอดรหัสได้ทั้งหมด ตัวอักษรเป็นแค่นั้น: ตัวอักษร ปฏิบัติต่อพวกเขาเป็นตัวเลขตามลำดับ ABC -> 2, DEF -> 3, GHI -> 4, JKL -> 5, MNO -> 6, PQRS -> 7, …
19 code-golf  cipher 

2
Island Golf # 2: The Hermes Eccentric
นี่เป็นครั้งที่สองในชุดของความท้าทาย Island Golf ความท้าทายก่อนหน้า ฤาษีสองคนมาถึงบนเกาะทะเลทราย เนื่องจากพวกเขามาแสวงหาความสันโดษพวกเขาต้องการอยู่ห่างไกลกันมากที่สุด พวกเขาควรจะสร้างกระท่อมของพวกเขาที่ไหนเพื่อเพิ่มระยะทางเดินระหว่างพวกเขาให้สูงสุด การอ่านที่เกี่ยวข้อง อินพุต ข้อมูลที่คุณป้อนจะเป็นตารางสี่เหลี่ยมที่ประกอบด้วยอักขระสองตัวซึ่งแสดงถึงที่ดินและน้ำ ในตัวอย่างด้านล่างที่ดิน#และน้ำเป็น.แต่คุณอาจแทนที่อักขระสองตัวที่คุณต้องการ ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... จะมีแผ่นพื้นอย่างน้อยสองแผ่นเสมอ แผ่นกระเบื้องพื้นดินจะต่อเนื่องกัน (เช่นมีเพียงเกาะเดียว) แผ่นน้ำก็จะต่อเนื่องกัน (เช่นไม่มีทะเลสาบ) เส้นขอบด้านนอกของตารางทั้งหมดจะเป็นแผ่นน้ำ แผ่นพื้นดินจะไม่เชื่อมต่อในแนวทแยงมุม: นั่นคือคุณจะไม่เห็นสิ่งที่ต้องการ .... .#.. ..#. .... เอาท์พุต รหัสต้องส่งออกของคุณตารางเดียวกันกับสองสถานที่กระท่อมทำเครื่องหมายบนมัน ในตัวอย่างด้านล่างสถานที่ตั้งของกระท่อมจะถูกทำเครื่องหมายด้วย X แต่คุณสามารถแทนที่อักขระใดก็ได้ตราบเท่าที่มันแตกต่างจากอักขระบนบกและน้ำ สถานที่ตั้งของกระท่อมจะต้องเป็นกระเบื้องดินเผาสองแผ่นซึ่งได้รับเลือกเพื่อเพิ่มระยะทางเดินระหว่างพวกเขาให้สูงสุด เรากำหนดระยะทางเดินเป็นความยาวของเส้นทางที่สั้นที่สุดทั้งบนบกระหว่างสองจุด แผ่นพื้นดินถูกพิจารณาว่าเป็นแนวนอนหรือแนวตั้ง แต่ไม่ใช่แนวทแยงมุม ทางออกที่เป็นไปได้สำหรับเกาะด้านบน: ........... ...X#...... ..#####.... ..#######.. .#########. ...#######. ...#####.X. ....####... …

3
ฐานใหญ่, ตัวเลขขนาดเล็ก
ภาษา J มีไวยากรณ์โง่มากสำหรับการระบุค่าคงที่ ฉันต้องการที่จะมุ่งเน้นไปที่คุณสมบัติที่ยอดเยี่ยมโดยเฉพาะอย่างยิ่ง: ความสามารถในการเขียนบนฐานโดยพลการ ถ้าคุณเขียนXbYสำหรับXจำนวนใด ๆ และYสตริงของ Alphanumerics ใด ๆ แล้วเจจะแปลYเป็นฐานXจำนวนที่0ผ่าน9มีความหมายปกติของพวกเขาและaผ่านzตัวแทนที่ 10 ถึง 35 และเมื่อฉันพูดXหมายเลขใด ๆ ฉันหมายถึงหมายเลขใด ๆ สำหรับจุดประสงค์ของคำถามนี้ฉันจะบังคับXให้เป็นจำนวนเต็มบวก แต่ใน J คุณสามารถใช้อะไรก็ได้: จำนวนลบ, เศษส่วน, จำนวนเชิงซ้อนหรืออะไรก็ตาม สิ่งที่แปลกก็คือว่าคุณสามารถใช้ตัวเลข 0-35เป็นฐานสิ่งที่คุณตัวเลขเพราะเก็บของสัญลักษณ์ที่ใช้งานได้ประกอบด้วยเพียง 0-9 และ az ปัญหา ฉันต้องการโปรแกรมที่ช่วยฉันเกี่ยวกับมายากลเลขกอล์ฟเช่น2,933,774,030,998โดยใช้วิธีนี้ โอเคอาจจะไม่ใหญ่ขนาดนั้นฉันจะไปง่ายสำหรับคุณ ดังนั้น... งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งจะใช้เวลา (โดยปกติขนาดใหญ่) เลขทศนิยมNระหว่าง 1 และ 4294967295 (= 2 32 -1) เป็น input และผล / ผลตอบแทนที่เป็นตัวแทนที่สั้นที่สุดของรูปแบบXbYที่Xเป็นจำนวนเต็มบวกYเป็น …

5
การวิเคราะห์หมากรุกด้วยข้อมูลที่ จำกัด
ในความท้าทายนี้คุณจะได้รับข้อมูลจำนวน จำกัด เกี่ยวกับเกมหมากรุกบางเกมและคุณต้องทำนายว่าใครจะชนะเกมนี้ คุณได้รับข้อมูลสองชุด: นับชิ้น (ชิ้นส่วนใดยังมีชีวิตอยู่) สีบอร์ด (สีของชิ้นส่วนบนกระดาน) ที่สำคัญกว่าที่คุณไม่ทราบว่าชิ้นส่วนที่มีอยู่ คุณต้องตัดสินว่าใครที่คุณคิดว่าจะชนะ เกมจะถูกเลือกจากกิจกรรมทั้งหมดที่ระบุไว้ในPGNMentorตั้งแต่ปี 2010 ถึงตอนนี้ ฉันได้เลือก 10% ของตำแหน่งกระดานทั้งหมดจากแต่ละเกมที่จบลงด้วยการชนะหรือแพ้ ตำแหน่งกรรมการจะต้องมีการเคลื่อนไหวอย่างน้อย 30 ครั้งในเกม กรณีทดสอบสามารถพบได้ที่นี่ (การชนะสีขาวแสดงรายการแรกตามด้วยการชนะสีดำ) อินพุต นับชิ้นจะเป็นสตริงที่ประกอบด้วยตัวอักษรสำหรับแต่ละชิ้น: kไอเอ็นจี, queen, rOOK, k night, bishop หรือpหนาม ตัวพิมพ์เล็กหมายถึงสีดำตัวพิมพ์ใหญ่เป็นสีขาว กระดานจะเป็นสตริง 64 ตัวอักษร (8 แถวคูณ 8 คอลัมน์) Bแทนชิ้นส่วนสีดำWแสดงชิ้นส่วนสีขาวและ.แทนจุดที่ว่างเปล่า ตัวอย่าง: W..WB......W.BB....W..B..W.WWBBB..W...B....W..BBWWW...BB.W....B.,BBKPPPPPPPQRRbbkpppppppqrr จะเป็นตัวแทนของคณะกรรมการดังต่อไปนี้ ...B.BB. .BBBBBBB .B.B.... B..W.... WWWW.W.. ....W.W. ...W..WW W.....W. …

5
ปัญหาการแตกสร้อยคอ
พื้นหลัง ผมได้รับแรงบันดาลใจจาก3Blue1Brown 's ล่าสุดวิดีโอเกี่ยวกับปัญหาสร้อยคอแยก (หรือในขณะที่เขาเรียกมันว่าเป็นปัญหาที่ถูกขโมยสร้อยคอ) และความสัมพันธ์กับทฤษฎีบท Borsuk-ลาม ในปัญหานี้โจรสองคนได้ขโมยสร้อยคอที่มีค่าซึ่งประกอบด้วยอัญมณีหลายประเภท อัญมณีแต่ละชนิดมีจำนวนเท่ากันและพวกโจรต้องการที่จะแยกอัญมณีแต่ละชนิดให้เท่ากันในหมู่พวกเขาสองคน จับเป็นที่พวกเขาจะต้องทำเช่นนั้นโดยการแยกสร้อยเป็นส่วนที่ต่อเนื่องกันจำนวนหนึ่งและกระจายส่วนระหว่างสองของพวกเขา นี่คือตัวอย่างที่มีสี่ประเภทอัญมณีแสดงS, E, DและR(สำหรับไพลินมรกตเพชรและทับทิมตามลำดับ) สมมติว่าสร้อยคอมีดังนี้: [S,S,S,E,S,D,E,R,S,R,E,S,S,S,D,R,E,E,R,E,D,E,R,R,D,E,E,E] มี8ไพลิน, 10มรกต, 4เพชรและ6ทับทิม เราสามารถแยกสร้อยคอดังนี้: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] จากนั้นถ้าเราให้ส่วนที่หนึ่ง, สามและห้าแก่ขโมยหนึ่งและส่วนที่สองและสี่กับขโมยอื่น ๆ แต่ละอันจะจบลงด้วย4ไพลิน, 5มรกต, 2เพชรและ3ทับทิม: [S], [S,E,S,D,E,R,S], [R,R,D,E,E,E] [S], [R,E,S,S,S,D,R,E,E,R,E,D,E], ใช้0-indexing [1,2,9,22]ตัดเหล่านี้เกิดขึ้นในดัชนี เป้าหมาย ปรากฎว่าแผนกที่เป็นธรรมดังกล่าวสามารถใช้งานได้ทุกครั้งที่มีnการตัดมากที่สุดซึ่งnเป็นประเภทอัญมณีจำนวนเท่าใด งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่สมบูรณ์ซึ่งใช้สร้อยคอเป็นอินพุทและเอาท์พุทการแบ่งน้อยที่สุด (จำนวนการตัดน้อยที่สุด) อินพุต อินพุตอาจอยู่ในรูปแบบที่สะดวก สร้อยคอควรเป็นลำดับของอัญมณีและไม่มีอะไรเพิ่มเติม เช่นรายการจำนวนเต็มพจนานุกรมที่มีกุญแจซึ่งเป็นตัวแทนประเภทอัญมณีและค่าเป็นรายการดัชนี คุณอาจเลือกที่จะรวมความยาวของสร้อยคอหรือจำนวนอัญมณีที่แตกต่างกัน แต่คุณไม่ควรใช้อินพุตอื่น คุณอาจคิดว่าสร้อยคออินพุตนั้นถูกต้อง คุณไม่จำเป็นต้องจัดการกับกรณีที่มีอัญมณีแปลก ๆ จำนวนหนึ่งหรือสร้อยคอนั้นว่างเปล่า เอาท์พุต อีกครั้งเอาต์พุตอาจอยู่ในรูปแบบที่สะดวก เช่นรายการของเซ็กเมนต์, …

8
ย้อนกลับเรียงแทรก
วัตถุประสงค์ สร้างรายการที่มีสัญญาณรบกวนเดิมจากการเคลื่อนไหวที่มีการจัดเรียงการแทรกเพื่อจัดเรียง รายการต้นฉบับจะมีตัวเลขทั้งหมดตั้งแต่0ถึงN-1(รวม) โดยที่Nขนาดของอินพุต อินพุต รายการที่มีการเคลื่อนไหวที่จำเป็นเพื่อเรียงลำดับรายการ แต่ละค่าแสดงถึงจำนวนช่องที่แทนที่ด้วยหมายเลขเดิม (สัญญาณรบกวน) ที่จะอยู่ในตำแหน่งที่ถูกต้องโปรดทราบว่ากระบวนการนี้มาจากด้านซ้ายไปทางขวา ค่าที่ตำแหน่ง (ดัชนี 0) iในรายการอินพุตจะอยู่ระหว่าง0และiรวม คุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องพฤติกรรมใด ๆ เป็นที่ยอมรับในกรณีนี้ (เกิดความผิดพลาดวนซ้ำไม่สิ้นสุด ฯลฯ ) เอาท์พุต รายการที่มีสัญญาณรบกวน ทีละขั้นตอนในการสร้างการเคลื่อนไหว Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

3
ตัวกระจายรังสีเมตาดาต้า
พื้นหลัง ในเว็บไซต์นี้บางครั้งเรามีคำถามที่ต้องการให้โปรแกรม "แข็งรังสี" ซึ่งหมายความว่าโปรแกรมจะต้องสามารถอยู่รอดในการลบหนึ่งไบต์หรือมากกว่าไม่ว่าจะลบไบต์ใด เป็นเรื่องปกติสำหรับงานที่มีการตั้งค่าความท้าทายในการเขียนโปรแกรมเป็นเรื่องปกติที่จะต้องการสร้างภาษาที่ดีต่อความท้าทายเหล่านี้โดยเฉพาะ เนื่องจากวิธีธรรมชาติในการทำเช่นนี้คือการเพิ่มข้อมูลเมตาบางส่วนที่ทำให้สามารถย้อนกลับไปสู่การคอร์รัปชั่นได้จริง ๆ แล้วไม่ใช่ภาษาที่จำเป็นต้องมีการออกแบบ แนวคิดคือการแปลงอินพุตแต่ละตัวเป็นลำดับไบต์ในลักษณะที่แม้ว่าลำดับนั้นฉายรังสีเล็กน้อยก็เป็นไปได้ที่จะแยกอินพุตต้นฉบับ งาน เขียนสองโปรแกรมหรือฟังก์ชั่น E (ตัวเข้ารหัส) และ D (ตัวถอดรหัส) เช่นนั้น: E จะใช้เวลาสองขัดแย้งลำดับของ octets (ซึ่งเราจะเรียกว่า " การป้อนข้อมูล " ในข้อกำหนดนี้) และติดลบ " รังสี " และผลลำดับของ octets ที่ " เข้ารหัส "; D รับหนึ่งอาร์กิวเมนต์ลำดับของ octets (" encdng ") และเอาต์พุตลำดับของ octets " reconstruction "; หากคุณใช้ทั้ง E และ D …

8
Codegolf Penrose Triangle
สามเหลี่ยมเพนโรสยังเป็นที่รู้จักในฐานะ tribar เพนโรสหรือ tribar เป็นไปไม่ได้เป็นวัตถุเป็นไปไม่ได้ เป้าหมายในการท้าทายนี้คือการแสดงสามเหลี่ยมเพนโรสในไม่กี่ไบต์ที่เป็นไปได้ ที่มา: Wikipedia กฎ: คุณต้องแสดงสามเหลี่ยม Penrose แบบดิจิทัลหลังจากสร้างมัน พวกเขาจะต้องดูเหมือนกับภาพด้านบนของหน้า wiki (แหล่งที่มาด้านบน) โดยไม่ต้องแสดงภาพโดยตรง ภาพเดียวกันที่มีชุดรูปแบบสีเดียวกันจะต้องแสดงในขนาดอย่างน้อย 400x400 ควรแม่นยำที่สุดเท่าที่จะทำได้ ขอให้โชคดีและสนุก!

16
ตัวเลขที่เพิ่มขึ้น
งานนี้ค่อนข้างง่ายและใช้ประโยชน์จากอักขระ "โอเปอเรเตอร์" สามตัว งานของคุณจะได้รับลำดับที่เรียบง่ายของตัวอักษรดำเนินงานต่อไปนี้การเข้ารหัสโดยใช้<, ,> *คุณอาจเลือกที่จะใช้ตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้โดยที่คุณไม่ต้องใช้ทั้งสองตัว คำอธิบายการเข้ารหัส รหัสลับนั้นง่ายคุณกำลังใช้การดำเนินการเพิ่มและลดเพื่อสำรวจจากตัวอักษร 1 ถึงตัวอักษรท้ายโดยใช้*ฟังก์ชัน "ส่ง" ของคุณ ผู้ประกอบการสำหรับ "เพิ่มขึ้น" จะเป็น>และ "พร่อง" <จะเป็น ตัวอย่างการใช้คำว่าadbc: เริ่มด้วยตัวอักษรตัวแรกของคำเอาท์พุทตัวอักษรนั้น a ถัดไปใช้>และ<(เช่น brainfuck) เพื่อ "นำทาง" ตัวอักษรปัจจุบันไปยังตัวถัดไป a>จะส่งผลให้ 'ยก' aโดยที่ 1 bไปยังตัวอักษรa<จะส่งผลให้zเนื่องจากคุณลดจดหมาย (มันตัดคุณจะต้องเลือกทิศทางที่ทำให้เกิดการดำเนินงานจำนวนน้อยที่สุด) หลังจากแสดงชุดค่าผสมที่น้อยที่สุดที่ถูกต้องของ<และ>เอาท์พุท a *เพื่อแสดงว่าเราได้มาถึงตัวอักษรถัดไป ขั้นตอนในการเข้ารหัสadbcจะเป็น: a # a a>>>* # ad a>>>*<<* # adb a>>>*<<*>* # adbc ตัวอย่าง ขั้นตอนในการเข้ารหัสazaจะเป็น: a …
19 code-golf  cipher 

16
Mod the Floats!
ซอฟต์แวร์การสร้างแบบจำลอง 3 มิติส่วนใหญ่ใช้การทำแผนที่ UVเพื่อทำแผนที่พื้นผิวไปยังวัตถุ 3 มิติ ค่าที่ถูกต้องสำหรับทั้ง U และ V มักจะอยู่ใน[0..1]ช่วงรวม ท้าทาย คุณซื้อซอฟต์แวร์การสร้างแบบจำลอง 3 มิติใหม่ซึ่งใช้งานง่ายสุด ๆ อย่างไรก็ตามมีปัญหาหนึ่งเรื่อง: เพิ่มหรือลบหมายเลขจำนวนเต็มแบบสุ่มจากค่า UV งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ปรับเปลี่ยนค่าอินพุตเพื่อรับค่าทศนิยมใน[0..1]ช่วงรวม ทุ่นที่เกิดขึ้นควรมีส่วนที่เป็นเศษส่วนเหมือนกับของจริงและใกล้เคียงกับของจริงมากที่สุด เนื่องจากทั้งคู่0และ1อยู่ในช่วงเอาต์พุตจำนวนเต็มใด ๆ 0 หรือน้อยกว่าควรเปลี่ยนเป็น 0 และจำนวนเต็ม 1 หรือมากกว่านั้นควรเปลี่ยนเป็น 1 อัลกอริทึมตัวอย่างใน JavaScript: function modFloat(input) { while (input < 0 || input > 1) { if (input < 0) input += …
19 code-golf 

4
เคล็ดลับสำหรับการเล่นกอล์ฟใน Brachylog
Brachylogเป็นภาษาที่เริ่มมีชื่อเสียงมากขึ้นในการเขียนโค้ดกอล์ฟ (และเพิ่งได้รับการอัปเดตครั้งใหญ่พร้อมกับไวยากรณ์ของผู้ใช้ซ้ำ) เช่นเดียวกับ Prolog มันมีข้อดีที่มักจะสามารถแก้ปัญหาได้ (โดยทั่วไปผ่านการใช้กำลังดุร้าย) จากคำอธิบายที่ถูกต้องอย่างพอเพียงว่าลักษณะของปัญหานั้นเป็นคุณลักษณะที่หมายความว่าในการท้าทายที่ถูกต้อง ภาษากอล์ฟชั้นนำ (และเป็นที่รู้จักกันว่าเอาชนะเจลลี่เป็นครั้งคราว) คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟ (เช่นการเขียนโปรแกรมที่สั้นที่สุดที่เป็นไปได้) Brachylog นี่คือการมองหาคำแนะนำที่เฉพาะเจาะจงกับ Brachylog โดยเฉพาะมากกว่าคำแนะนำที่ใช้กับภาษาที่หลากหลาย (เคล็ดลับเกี่ยวกับการเล่นกอล์ฟในภาษาที่ประกาศโดยทั่วไปอาจมีความเหมาะสมที่นี่ขึ้นอยู่กับจำนวนแอปพลิเคชันที่พวกเขาจะต้องใช้กับภาษาอื่นที่นอกเหนือจาก Brachylog แม้ว่าจะดูเคล็ดลับสำหรับการเล่นกอล์ฟใน Prologด้วย)
19 code-golf  tips 

23
ช่วยเจ้ามือสร้างดาดฟ้าใหม่
ดีลเลอร์เลอะเทอะและหลงทางว่ามีการ์ดในเด็คของเขาอยู่และการ์ดใดหายไปคุณสามารถช่วยเขา / เธอได้หรือไม่? สำรับสมบูรณ์ประกอบด้วยไพ่ 52 ใบ ได้แก่ : แต่ละสีในเด็ค (หัวใจ, เพชร, โพดำ, คลับ) ประกอบด้วย: ตัวเลข [2 - 10] แจ็ค ราชินี กษัตริย์ เอซ งาน โปรแกรมของคุณจะอ่านเนื้อหาของสำรับจาก STDIN จนกว่าจะมีการอ่านบรรทัดใหม่ คุณสามารถสันนิษฐานได้ว่าอินพุตจะอยู่ในรูปของ "nX nX nX nX" ฯลฯ โดยที่: n - ตัวเลขใด ๆ ระหว่าง [2 - 10] หรือ 'J', 'Q', 'K' หรือ 'A' (คุณสามารถใช้ตัวอักษรพิมพ์ใหญ่สำหรับอักขระที่ไม่ใช่ตัวเลขเท่านั้น) X - …
19 code-golf 

12
ปัจจัยแอนนาแกรม
ในตอนล่าสุดของQI , 5 ทวีคูณแรกของ 142857 ถูกอธิบายว่าเป็นภาพของตัวเลขดั้งเดิม แน่นอนว่าใครก็ตามที่มีความรู้มากกว่าจำนวนที่ผ่านมานั้นจะรู้ว่าตัวเลขเหล่านั้นเป็นวัฏจักรจริง ๆ ไม่ใช่แค่แอนนาแกรม แต่นั่นทำให้ฉันคิด โปรดเขียนโปรแกรมหรือฟังก์ชั่นที่แสดงผลตัวเลขหกหลักหรือน้อยกว่าทั้งหมดซึ่งมีปัจจัยที่เหมาะสมที่เป็นแอนนาแกรมของตัวเอง รายการควรเริ่มต้นด้วยหมายเลขต่อไปนี้: 3105 (divisible by 1035) 7128 (divisible by 1782) 7425 (divisible by 2475) 8316 (divisible by 1386) 8712 (divisible by 2178) 9513 (divisible by 1359) 9801 (divisible by 1089) หากคุณต้องการคุณสามารถค้นหาตัวเลขที่มีแอนนาแกรมซึ่งเป็นปัจจัยที่เหมาะสมของตัวเลข แต่ระวังที่จะไม่รวมศูนย์นำหน้าจากแอนนาแกรมของคุณ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ที่ไม่มีช่องโหว่มาตรฐานชนะ

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