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

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

9
กำลังคำนวณลูกพี่ลูกน้อง Collatz
นิยามฟังก์ชันf (n)สำหรับจำนวนเต็มบวกnดังนี้: n / 2หากnเป็นเลขคู่ 3 * n + 1ถ้าnเป็นเลขคี่ หากคุณใช้ฟังก์ชั่นนี้ซ้ำ ๆ กับn ที่มากกว่า 0 ผลลัพธ์จะดูเหมือนว่าจะรวมกันเป็น 1 เสมอ (แม้ว่าจะยังไม่มีใครพิสูจน์ได้) สถานที่แห่งนี้เป็นที่รู้จักกันCollatz คาดเดา กำหนดเวลาหยุดของจำนวนเต็มตามจำนวนครั้งที่คุณต้องผ่านฟังก์ชัน Collatz fก่อนที่จะถึง 1 นี่คือเวลาหยุดของจำนวนเต็ม 15 ตัวแรก: 1 0 2 1 3 7 4 2 5 5 6 8 7 16 8 3 9 19 10 6 11 14 …

6
ทฤษฏีส่วนที่เหลือของจีน
จีนที่เหลือทฤษฎีบทบอกเราว่าเราสามารถหาตัวเลขที่เหลือผลิตใด ๆ ต้องอยู่ภายใต้โมดูลที่สำคัญที่แตกต่างกัน เป้าหมายของคุณคือการเขียนโค้ดเพื่อเอาท์พุทจำนวนดังกล่าวในเวลาพหุนาม รหัสที่สั้นที่สุดชนะ ตัวอย่างเช่นสมมติว่าเราได้รับข้อ จำกัด เหล่านี้ ( %หมายถึง mod): n % 7 == 2 n % 5 == 4 n % 11 == 0 n=44ทางออกหนึ่งคือ ข้อ จำกัด แรกคือความพึงพอใจเพราะ44 = 6*7 + 2และเพื่อให้44มีที่เหลือ2เมื่อหารด้วยและทำให้7 44 % 7 == 2อีกสองข้อ จำกัด จะพบเช่นกัน มีอยู่แก้ปัญหาอื่น ๆ เช่นและn=814n=-341 อินพุต รายการที่ไม่ว่างเปล่าของคู่(p_i,a_i)ซึ่งแต่ละโมดูลัสp_iเป็นสำคัญแตกต่างกันและแต่ละเป้าหมายเป็นจำนวนธรรมชาติในช่วงa_i 0 <= a_i < …

11
คำนวณระยะทาง Hausdorff
บทนำ ระยะดอร์ฟมีขนาดแตกต่างระหว่างสองส่วนย่อยของพื้นที่เมตริก โดยสังเขปพื้นที่เมตริกเป็นเพียงบางชุดที่มีฟังก์ชั่นระยะทางในตัว d(a, b) := abs(a - b)ในความท้าทายนี้เราจะใช้หมายเลขธรรมชาติกับระยะทางสามัญ ระยะห่างของ Hausdorff ระหว่างสองเซตที่ไม่ว่างเปล่าAและBได้รับจาก max(max(min(d(a, b) for b in B) for a in A), max(min(d(a, b) for a in A) for b in B)) ในรูปแบบ Python ระยะทางของ Hausdorff สามารถคำนวณได้โดยการหาองค์ประกอบAที่ระยะทางไปยังองค์ประกอบที่ใกล้ที่สุดBคือสูงสุดและองค์ประกอบของBระยะทางไปยังองค์ประกอบที่ใกล้ที่สุดของAสูงสุดและจากนั้นใช้ระยะทางสูงสุดเหล่านี้ กล่าวอีกนัยหนึ่งถ้าระยะห่าง Hausdorff dทุกองค์ประกอบของAอยู่ในระยะห่างdจากองค์ประกอบบางส่วนของBและในทางกลับกัน อินพุต ข้อมูลที่คุณป้อนเป็นรายการจำนวนเต็มเดียว มันมีองค์ประกอบ0,1,2,3ซึ่งมีความหมายว่าดัชนีที่กำหนดของรายการเป็นองค์ประกอบของค่าAมิได้BเพียงAเท่านั้นBหรือทั้งสองอย่างและA Bตัวอย่างเช่นการป้อนข้อมูล[0,1,1,0,2,3]หมายความว่าA = {1,2,5}และB = {4,5}ถ้าเราใช้การจัดทำดัชนีแบบ 0 (ซึ่งไม่สร้างความแตกต่างเนื่องจากตัวชี้วัดของเราเป็นค่าคงที่การแปล) …

2
พหุนามนายกรัฐมนตรี
กำหนดพหุนามพิจารณาว่าเป็นนายกหรือไม่ พหุนามเป็นax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + gที่แต่ละคำเป็นจำนวนคงที่ (ค่าสัมประสิทธิ์) xคูณด้วยอำนาจติดลบของ พลังงานสูงสุดที่มีค่าสัมประสิทธิ์ไม่เป็นศูนย์เรียกว่าดีกรี สำหรับความท้าทายนี้เราจะพิจารณาหลายชื่ออย่างน้อยปริญญา 1. xนั่นคือแต่ละพหุนามมีบางส่วน นอกจากนี้เรายังใช้พหุนามกับค่าสัมประสิทธิ์จำนวนเต็มเท่านั้น พหุนามสามารถคูณได้ ยกตัวอย่างเช่นเท่ากับ(x+3)(2x^2-2x+3) 2x^3+4x^2-3x+9ดังนั้น2x^3+4x^2-3x+9สามารถแยกตัวประกอบในx+3และ2x^2-2x+3ดังนั้นจึงเป็นคอมโพสิต ไม่สามารถแยกตัวประกอบพหุนามอื่น ๆ ได้ ตัวอย่างเช่น2x^2-2x+3ไม่ใช่ผลิตภัณฑ์ของพหุนามสองอันใด ๆ (ไม่สนใจพหุนามคงที่หรือที่มีค่าสัมประสิทธิ์ไม่ใช่จำนวนเต็ม) ดังนั้นจึงเป็นเรื่องสำคัญ (หรือเรียกอีกอย่างว่าลดลง) กฎระเบียบ อินพุตและเอาต์พุตสามารถผ่านวิธีมาตรฐานใด ๆ อินพุตอาจเป็นสตริงเช่น2x^2-2x+3รายการของ coeffecients like {2,-2,3}หรือวิธีการอื่นที่คล้ายคลึงกัน เอาท์พุทเป็นทั้งค่าจริงถ้ามันเป็นนายกหรือค่าเท็จถ้ามันประกอบ คุณต้องให้ค่าความจริงที่เหมือนกันสำหรับทุกช่วงเวลาและค่าความเท็จเดียวกันสำหรับพหุนามคอมโพสิตทั้งหมด อินพุตจะต้องมีอย่างน้อยระดับ 1 และไม่เกิน 10 องศา คุณไม่สามารถใช้เครื่องมือในตัวสำหรับการแยกตัวประกอบ (ของจำนวนเต็มหรือนิพจน์) หรือการแก้สมการ ตัวอย่าง …
21 code-golf  math  primes 

30
พิมพ์ colorings ทั้งหมดของตาราง 3x3
คุณมีตาราง 3x3 แต่ละเซลล์สามารถเป็นสีดำหรือสีขาว แสดงสีทั้งหมด 512 สี ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ คุณสามารถแสดงกริดในรูปแบบใด ๆ ตราบเท่าที่พวกเขาจะแยกทางสายตาและระยะห่างดูปกติ คุณสามารถใช้งานศิลปะหรือรูปภาพของ ASCII สามารถใช้สัญลักษณ์หรือสีที่มองเห็นได้สองแบบสำหรับสีดำและสีขาว ช่องว่างใด ๆ ก็ใช้ได้ตราบใดที่ผลลัพธ์นั้นถูกต้อง ตัวอย่างผลลัพธ์: ... ... ... ... ... ..X ... ... .X. ... ... .XX ... ... X.. ... ... X.X ... ... XX. ... ... XXX ... ..X ... ... ..X ..X ... ..X .X. …

3
ฉันจะสร้างสิ่งนั้นได้อย่างไร
Minecraftมี 21 รายการที่คุณสามารถสร้างได้ด้วยไม้และของที่ทำจากไม้: ขวาน เรือ ชาม ปุ่ม หน้าอก ตารางงานหัตถกรรม ประตู รั้ว ประตู จอบ บันได pickaxe ไม้กระดาน แผ่นดัน จอบ สัญญาณ พื้น บันได ติด ดาบ ประตูกล รายการนี้สันนิษฐานว่าเป็น 6 ประเภทที่แตกต่างกันของไม้แผ่น / แผ่น / ประตู / ฯลฯ ทั้งหมดนับเป็นรายการเดียวกัน วิธีคิดอีกอย่างคือการสมมติว่าคุณสามารถเข้าถึงไม้ประเภทเดียวเท่านั้น แต่ละเหล่านี้ 21 รายการที่มีความแตกต่างกันสูตรหัตถกรรม เราจะเป็นตัวแทนของแต่ละสูตรเหล่านี้เป็น 2 × 2 หรือ 3 × 3 .WPSตารางของตัวละคร .เป็นสล็อตหัตถกรรมว่างWสำหรับไม้ , Pสำหรับแผ่นไม้และSเป็นแท่ง …

4
Pure Sourcery - สร้างโปรแกรมที่ส่งออกตัวเลข 0 ถึง 9
นี่คือตัวอักษรแบบพิกเซล 5 คูณ 7 สำหรับตัวเลข 0 ถึง 9: .███. █...█ █...█ █...█ █...█ █...█ .███. ..█.. ███.. ..█.. ..█.. ..█.. ..█.. █████ .███. █...█ ....█ ...█. ..█.. .█... █████ .███. █...█ ....█ ..██. ....█ █...█ .███. █..█. █..█. █..█. █████ ...█. ...█. ...█. █████ █.... █.... .███. ....█ █...█ .███. …

13
การเข้ารหัสความยาวถนน
ในสหรัฐอเมริกาทั้งสองทิศทางที่ตรงข้ามของการจราจรบนถนนจะถูกคั่นด้วยเส้นสีเหลืองประถ้าอนุญาตให้ผ่านและเส้นสีเหลืองทึบสองเส้นถ้าผ่านไม่ได้รับอนุญาต (เพียงด้านเดียวสามารถประเพื่อให้ผ่านด้านนั้นและเส้นสีเหลืองอาจหมายถึงสิ่งอื่น ๆ เช่นกึ่งกลางหรือเลนย้อนกลับ แต่เราไม่ได้เกี่ยวข้องกับกรณีเหล่านี้) จงเขียนโปรแกรมที่ใช้ในที่ทำงานระยะเวลาในการเข้ารหัสสตริงของPสำหรับการส่งผ่านและNสำหรับไม่ผ่านและพิมพ์รุ่น ASCII ของถนนที่สอดคล้องกัน ยกเว้นเส้นกลางถนนมีรูปแบบเดียวกันเสมอซึ่งสามารถอนุมานได้ง่ายจากตัวอย่างด้านล่าง จะมีตัวเลขทศนิยมเป็นบวกก่อนละPและNในสตริงที่ป้อน หมายเลขนี้กำหนดความยาวของพื้นที่ผ่านหรือไม่ผ่านของส่วนปัจจุบันของถนน ตัวอย่าง อินพุตของ12Nจะผลิต 12 คอลัมน์ของถนนที่ไม่ผ่าน (เส้นกลางทั้งหมด=): ____________ ============ ____________ อินพุตของ12Pจะผลิต 12 คอลัมน์ของถนนที่ผ่าน (เส้นกลาง- ซ้ำ): ____________ - - - - - - ____________ การผ่านและไม่ผ่านสามารถรวมกันได้เช่น4N4P9N7P1N1P2N2Pจะสร้าง: ______________________________ ====- - =========- - - -=-==- ______________________________ เหล่านี้คือ 4 ไม่มีคอลัมน์ผ่านแล้ว 4 ผ่านแล้ว 9 ไม่ผ่านฯลฯ โปรดทราบว่าเขตผ่านจะเริ่มต้นด้วยเส้นประ ( …

8
Scrambles Cube ของ Rubik
งานของคุณคือการสร้างลำดับการเคลื่อนที่แบบสุ่มซึ่งสามารถใช้ในการช่วงชิง Cube ของ Rubik ช่วงชิงดังกล่าวประกอบด้วยการเคลื่อนไหว 25 ครั้ง ย้ายแต่ละประกอบด้วยตัวอักษรตามด้วยหนึ่งคำต่อท้ายUDRLFB'2 สัญกรณ์นี้เรียกว่าสัญกรณ์ Singmaster UDRLFBแสดงถึงหนึ่งใน 6 ใบหน้าและคำต่อท้ายที่'2เป็นตัวเลือกแสดงถึงมุมเลี้ยว ข้อมูลนี้ไม่จำเป็นต้องใช้ในการแก้ปัญหา เพื่อให้มั่นใจว่าสัญญาณรบกวนนั้นมีคุณภาพดีต้องใช้กฎสองข้อต่อไปนี้: การเคลื่อนที่สองครั้งติดต่อกันจะต้องไม่มีตัวอักษรเดียวกัน นี้ห้ามการเคลื่อนไหวต่อเนื่องUU, DD, RR, LL, FFและBBและการรวมกันของพวกเขาทั้งหมดโดยใช้ตัวเลือกต่อท้ายเหมือนหรือU2UU'U' คู่การย้ายเหล่านี้ถูกแบนเนื่องจากสามารถลดการเคลื่อนไหวเป็น 1 หรือ 0 ได้อย่างง่ายดาย U2Uมีผลเช่นเดียวกับU', ผลเช่นเดียวกับR'R การเคลื่อนไหวติดต่อกันสามครั้งจะต้องไม่อยู่ในกลุ่มตัวอักษรเดียวกัน กลุ่มตัวอักษรที่อยู่UD, และRL FBกฎนี้ยังห้ามการเคลื่อนไหวต่อเนื่องUDU, DUD, RLR, LRL, FBF, BFBและการรวมกันของพวกเขาทั้งหมดโดยใช้ตัวเลือกต่อท้ายเช่นU2DU, หรือRL'RB2FB' กลุ่มจัดเรียงใบหน้าตามแกนการเคลื่อนไหว UและDอยู่ในกลุ่มเดียวกันเพราะทั้งคู่หันไปรอบแกนเดียวกัน ดังนั้นการUเคลื่อนไหวจะไม่ส่งผลต่อชิ้นส่วนของDใบหน้าและการDเคลื่อนไหวจะไม่ส่งผลกระทบต่อชิ้นส่วนของUใบหน้า ดังนั้นสองย้ายสามารถแลกเปลี่ยนUDUมีผลเช่นเดียวกับและนี้สามารถลดลงได้UUDU2D ท้าทาย เขียนสคริปต์หรือฟังก์ชั่นที่สร้างช่วงชิงสุ่ม ไม่มีอินพุต สคริปต์ / ฟังก์ชั่นจะต้องพิมพ์ 25 การเคลื่อนไหวโดยไม่มีการแยกหรือคั่นด้วยช่องว่างหนึ่งช่องหรือส่งคืนสตริงผู้ติดต่อ …

6
เวลาเดินทางผู้ค้าหุ้น
เรื่องราว นานมาแล้ว Bobby สร้างกระเป๋าเงิน Bitcoin ด้วย 1 Satoshi (1e-8 BTC หน่วยสกุลเงินที่เล็กที่สุด) และลืมมันไป เหมือนกับคนอื่น ๆ อีกหลายคนเขาในภายหลังว่า "ประณามถ้าฉันลงทุนไปมากกว่านั้น ... " เขาไม่ได้อุทิศเวลาและเงินทั้งหมดให้กับการสร้างไทม์แมชชีน เขาใช้เวลาส่วนใหญ่ในโรงรถของเขาไม่รู้เรื่องทางโลกและมีข่าวลือแพร่สะพัดเกี่ยวกับเขา เขาเสร็จต้นแบบหนึ่งวันก่อนที่ไฟฟ้าของเขาจะถูกปิดเนื่องจากการชำระเงินที่ไม่ได้รับ เงยหน้าขึ้นมองจากโต๊ะทำงานของเขาเขาเห็นรถตู้ตำรวจดึงขึ้นไปที่บ้านของเขาดูเหมือนกับเพื่อนบ้านที่มีจมูกยาวคิดว่าเขาทำงานห้องปฏิบัติการปรุงยาในโรงรถของเขาและเรียกตำรวจ เมื่อไม่มีเวลาทำการทดสอบเขาคว้าแท่ง USB ที่มีข้อมูลอัตราแลกเปลี่ยนของปีที่ผ่านมาเชื่อมต่อ Flux Capacitor กับ Quantum Discombobulator และพบว่าตัวเองเคลื่อนย้ายกลับมาทั้งวันเมื่อเขาสร้างกระเป๋าเงินของเขา ภารกิจ จากข้อมูลอัตราแลกเปลี่ยนให้ค้นหาว่า Bobby สามารถทำเงินได้เท่าใด เขาทำตามกฎง่าย ๆ : "ซื้อต่ำ - ขายสูง" และเมื่อเขาเริ่มด้วยทุนเล็ก ๆ น้อย ๆ เราคิดว่าการกระทำของเขาจะไม่ส่งผลกระทบต่ออัตราแลกเปลี่ยนในอนาคต อินพุต รายการของการลอย> 0 ไม่ว่าจะเป็นสตริงที่คั่นด้วยอักขระเดียว …

9
การค้นหาหมายเลขเฉพาะโดยไม่ใช้ "ตัวอักษรหลัก"
งานของคุณถ้าคุณเลือกที่จะยอมรับมันคือการเขียนโปรแกรม / ฟังก์ชั่นที่รับจำนวนเต็มNเป็นอินพุต โปรแกรม / ฟังก์ชั่นควรเอาท์พุท / ส่งคืนรายการหมายเลขนายกรัฐมนตรีN ตัวแรก แต่นี่คือสิ่งที่จับได้: คุณไม่ได้รับอนุญาตให้ใช้ตัวละครหลักในรหัสของคุณ ตัวละครหลักเป็นตัวละครที่มีจุดรหัส Unicode เป็นจำนวนเฉพาะ ในช่วง ASCII ที่พิมพ์ได้สิ่งเหล่านี้คือ: %)+/5;=CGIOSYaegkmq แต่กฎยังใช้กับอักขระที่ไม่ใช่ ASCII หากรหัสของคุณใช้ อินพุตที่ถูกต้องคือจำนวนเต็มNโดยที่0 <N <= Tซึ่งคุณสามารถเลือกTได้ แต่ต้องมากกว่าหรือเท่ากับ 10,000 Tไม่จำเป็นต้อง จำกัด สำหรับอินพุตที่ไม่ถูกต้อง (ไม่ใช่จำนวนเต็มจำนวนเต็มอยู่นอกช่วง) ให้โยนข้อยกเว้นหรือเอาท์พุท / ส่งคืนอะไร / null จำนวนเต็มที่มีช่องว่างนำหน้า / ต่อท้ายเนื่องจากอินพุตถือว่าไม่ถูกต้อง จำนวนเต็มที่มี+อักขระเครื่องหมายเป็นอินพุตถือว่าไม่ถูกต้อง จำนวนเต็มที่มีศูนย์นำหน้าเป็นอินพุตถือว่าถูกต้อง หากภาษาของคุณอนุญาตให้คุณส่งจำนวนเต็มแยกแล้วเป็นอินพุตกฎการแยกวิเคราะห์ข้างต้น (ยกเว้นช่วงที่หนึ่ง) ไม่ได้ใช้เพราะ int จะถูกแยกวิเคราะห์แล้ว อินพุตเป็นฐาน -10 เสมอ ไม่อนุญาตให้ใช้เครื่องกำเนิดไฟฟ้าเฉพาะตัวและเครื่องทดสอบรุ่นแรก …

10
0-1 Maximal Phase Counter
พิจารณาอาร์เรย์ของบิตพูด 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 เราเรียก subarray ที่ต่อเนื่องกันที่มีความยาว≥ 5 a phaseถ้าอย่างน้อย 85% ของบิตเหมือนกันและบิตแรก / ครั้งสุดท้ายมีค่าเท่ากับบิตส่วนใหญ่ นอกจากนี้เราเรียกเฟสสูงสุดถ้ามันไม่ใช่ subarray ที่เข้มงวดของเฟสอื่น ๆ นี่คือขั้นสูงสุดของตัวอย่างข้างต้น: 1 1 1 0 0 0 0 1 0 0 1 0 1 1 …

2
เรียงสแต็คหนังสือ
เมื่อทำการซ้อนหนังสือคุณมักต้องการวางหนังสือที่ใหญ่ที่สุดไว้ที่ด้านล่างและหนังสือที่มีขนาดเล็กที่สุดอยู่ด้านบน อย่างไรก็ตาม OCD แฝงตัวของฉันทำให้ฉันรู้สึกไม่สบายใจมากถ้าฉันมีหนังสือสองเล่มที่หนึ่งสั้น (สูง) แต่กว้างกว่าหนังสือเล่มอื่น ไม่ว่าจะเรียงตามลำดับใดก็ตามฉันจะวางหนังสือยอดนิยมไว้บนหนังสือเล่มใดเล่มหนึ่งด้านล่าง เป็นตัวอย่างที่บอกว่าหนังสือเล่มหนึ่งมีขนาด(10,15)และอื่น ๆ (11,14)มีขนาด ไม่ว่าฉันจะใส่พวกมันไปทางไหนฉันก็จะยื่นออกมา แต่ถ้าฉันมีหนังสือที่มีมิติ(4,3)และ(5,6)ฉันสามารถหลีกเลี่ยงการแขวนโดยวางหนังสือไว้ด้านล่างเก่า สำหรับวัตถุประสงค์ของการท้าทายนี้เราจะพิจารณายื่นเฉพาะในความสัมพันธ์กับหนังสือเล่มนี้ได้ทันทีด้านล่าง เช่นถ้าฉันมีสแต็(5,5)ก(3,3), (4,4)(ไม่ใช่คนที่มีสติจะทำอย่างนั้น) หนังสือยอดนิยมนับว่าเป็นสิ่งที่แขวนอยู่แม้ว่ามันจะไม่ขยายออกไปจากหนังสือด้านล่าง ในทำนองเดียวกันสแต็ค(3,3), (3,3),(4,4)นอกจากนี้ยังมีเพียงคนเดียวที่แขวนอยู่แม้จะมีหนังสือด้านบนขยายเกินหนึ่งด้านล่าง ความท้าทาย รับรายการคู่เต็มจำนวนสำหรับขนาดหนังสือเรียงลำดับคู่ / หนังสือเหล่านั้นเพื่อให้จำนวนของสิ่งที่แขวนอยู่มีน้อยที่สุด คุณต้องไม่หมุนหนังสือ - ฉันต้องการหนามทั้งหมดหันไปในทิศทางเดียวกัน หากมีวิธีแก้ปัญหาหลายอย่างที่มีจำนวนกระเช้าแขวนเท่ากันคุณสามารถเลือกคำสั่งดังกล่าวได้ อัลกอริทึมการเรียงลำดับของคุณไม่จำเป็นต้องมีเสถียรภาพ การดำเนินงานของคุณอาจคิดว่าหนังสือเล่มขนาดน้อยกว่า 2 16แต่ละ ความซับซ้อนของเวลา:ในการทำให้สิ่งนี้น่าสนใจยิ่งขึ้นความซับซ้อนเชิงกรณีที่แย่ที่สุดของอัลกอริทึมของคุณจะต้องเป็นพหุนามในขนาดของสแต็ก ดังนั้นคุณไม่สามารถทดสอบการเปลี่ยนรูปทุกครั้งที่เป็นไปได้ โปรดรวมการพิสูจน์สั้น ๆ เกี่ยวกับการเพิ่มประสิทธิภาพและความซับซ้อนของอัลกอริทึมของคุณ แน่นอนคุณไม่สามารถใช้ขนาดสูงสุดของอินพุตเป็นอาร์กิวเมนต์ที่โค้ดของคุณทำงานใน O (1) คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตผ่าน STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชันในรูปแบบรายการที่สะดวก (ไม่ได้ประมวลผลล่วงหน้า) และพิมพ์หรือส่งคืนผลลัพธ์ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ ฉันมั่นใจว่ามีคำตอบพหุนามอยู่ แต่หากคุณพิสูจน์ได้ว่าผิดฉันอาจส่งหลักฐานดังกล่าวแทนการยื่นแบบกอล์ฟ ในกรณีนี้คุณอาจคิดP …

3
การตรวจจับการชนกันของ 2D
ความท้าทายนี้ขึ้นอยู่กับการตรวจจับการชนจริงที่ฉันได้เขียนสำหรับเกมง่ายๆเมื่อเร็ว ๆ นี้ เขียนโปรแกรมหรือฟังก์ชั่นที่ให้วัตถุสองชิ้นคืนค่าจริงหรือค่าเท็จขึ้นอยู่กับว่าวัตถุทั้งสองอยู่ในการชนกัน (เช่นตัดกัน) หรือไม่ คุณต้องรองรับวัตถุสามประเภท: กลุ่มสาย : ตัวแทนจาก 4 ลอยระบุสองจุดสิ้นสุดคือ(x 1 , y 1 )และ(x 2 , y 2 ) คุณอาจสมมติว่าจุดสิ้นสุดไม่เหมือนกัน (ดังนั้นส่วนของเส้นจะไม่ลดลง) แผ่น : คือเต็มไปวงการตัวแทนจาก 3 ลอยสองสำหรับศูนย์(x, y)และหนึ่ง (บวก) สำหรับรัศมีR ฟันผุ : สิ่งเหล่านี้เป็นส่วนประกอบของดิสก์ นั่นคือโพรงเติมเต็มพื้นที่ 2 มิติทั้งหมดยกเว้นพื้นที่วงกลมซึ่งระบุโดยจุดศูนย์กลางและรัศมี โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับวัตถุสองชนิดนี้ในรูปแบบของจำนวนเต็มที่ระบุ (ที่คุณเลือก) และ 3 หรือ 4 อัน คุณสามารถรับอินพุตผ่าน STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชัน คุณอาจเป็นตัวแทนของอินพุตในรูปแบบที่สะดวกใด …

12
การอ่านรหัสใน 8 วิธีในการส่งออก 8 หมายเลข
ภาษาอังกฤษและภาษาการเขียนโปรแกรมส่วนใหญ่เขียนและอ่านจากซ้ายไปขวาบนลงล่าง แต่ไม่จำเป็นเลย ในความเป็นจริงสำหรับบล็อกข้อความ ABC DEF ฉันสามารถคิดถึงวิธีที่เกี่ยวข้องแปดวิธีที่อาจถูกอ่าน: จากซ้ายไปขวา, จากบนลงล่าง (LTR-TTB): ABCDEF จากบนลงล่างซ้ายไปขวา (TTB-LTR): ADBECF จากซ้ายไปขวา, จากบนลงล่าง (LTR-BTT): DEFABC จากล่างขึ้นบน, จากซ้ายไปขวา (BTT-LTR): DAEBFC จากขวาไปซ้าย, จากบนลงล่าง (RTL-TTB): CBAFED จากบนลงล่างขวาไปซ้าย (TTB-RTL): CFBEAD จากขวาไปซ้าย, จากบนลงล่าง (RTL-BTT): FEDCBA จากล่างขึ้นบน, จากขวาไปซ้าย (BTT-RTL): FCEBDA ท้าทาย เขียนบล็อกสี่เหลี่ยมของข้อความที่สามารถอ่านได้ในแปดวิธีข้างต้นเป็นโปรแกรมบรรทัดเดียวแปดรายการในภาษาที่คุณเลือก แต่ละโปรแกรมเหล่านี้ควรแสดงผลเป็นจำนวนเต็มที่แตกต่างกันจากหนึ่งถึงแปด ไม่สำคัญว่าทิศทางการอ่านจะแสดงผลที่หมายเลขใด แต่ไม่จำเป็นต้องจับคู่กับตัวเลขด้านบน ตัวอย่างเช่นหากบล็อกข้อความของคุณยังอยู่ ABC DEF แล้วโปรแกรมABCDEFการส่งออกอาจ5และFEDCBAการส่งออกอาจ2และอื่น ๆ หกโปรแกรมที่จะส่งออก1, 3, 4, 6, …

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