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

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

18
ตัวส่วนของชุดฮาร์มอนิก
ก่อนหน้านี้เราได้pseudofactorialของตัวเลขซึ่งเป็น LCM ของตัวเลขจากไป1n มันจะมีประโยชน์ในการเพิ่มเศษส่วนเข้าด้วยกัน อย่างไรก็ตามเราพบว่าส่วนของการ1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6เป็น20แทน pseudofactorial ของซึ่งเป็น660 งานของคุณคือการหาตัวหารของจำนวนเต็มบวกให้1/1 + 1/2 + ... + 1/nn Testcases n result 1 1 2 2 3 6 4 12 5 60 6 20 7 140 8 280 9 2520 10 2520 11 27720 12 …

10
แจมไม่ได้เพิ่มเช่นนั้น
พื้นหลัง อะตอมเลขคณิตของเยลลี่เวกเตอร์อัตโนมัติ ในความเป็นจริงแล้วx + yนั้นถูกนิยามไว้อย่างดีเมื่อใดก็ตามที่xและyเป็นตัวเลขหรืออาเรย์ของตัวเลข ซอร์สโค้ดของเยลลี่นำพฤติกรรมนี้ไปใช้โดยใช้ vectorizer ทั่วไป แต่สำหรับความท้าทายนี้เราจะพิจารณาเฉพาะการเพิ่มจำนวนเต็มและอาร์เรย์จำนวนเต็มแบบซ้อน คำนิยาม กำหนดความลึกของxเป็น0ถ้าxเป็นจำนวนเต็มเป็น1ถ้ามันเป็น (อาจจะเป็นที่ว่างเปล่า) อาร์เรย์แบนของจำนวนเต็มและเป็น1 + nถ้ามีอย่างน้อยหนึ่งองค์ประกอบของความลึกnและองค์ประกอบของความลึกไม่มีk> n . วิธีนี้1มีความลึก0 , []และ[1]และ[1, 1]มีความลึก1 , [[], []]และ[[1], [1]]และ[1]และ[1] , []]มีความลึก2 , [1, [1, [1]]]มีความลึก3 , ฯลฯ การดำเนินการx + yถูกกำหนดไว้ดังนี้ หากxและyมีความลึก0ให้ส่งคืนผลรวมของพวกเขา ถ้าxและy ที่มีระดับความลึกเท่ากัน แต่บวกซ้ำใช้+รายการทั้งหมดของxและรายการที่สอดคล้องกันของปี หากxและyมีความยาวต่างกันให้ผนวกท้ายของอาร์เรย์ที่ยาวกว่าเข้ากับอาร์เรย์ของผลรวม ส่งคืนผลลัพธ์ หากความลึกของxน้อยกว่าความลึกของ yอย่างเคร่งครัดให้ใช้+กับxและรายการทั้งหมดของyซ้ำแล้วคืนค่าผลลัพธ์ ทำตรงข้ามถ้าY 's ลึกเป็นอย่างเคร่งครัดมีขนาดเล็กกว่าx ' s ตัวอย่างเช่นพิจารณาดำเนินการ[1, …

1
แปลงรูปวาดกล่อง ASCII เป็น Unicode
ฉันลงคอขอสิ่งที่ฉันจะพบว่ามีประโยชน์ ภารกิจคือการวาดกล่อง ASCII ตามอำเภอใจเช่นนี้ | +----+----+ | state A +---+ +---------+ | | +----v----+ | state B | +---------+ ... และแปลงให้เป็นสิ่งที่สวยงามยิ่งขึ้นโดยใช้อักขระการวาดกล่องยูนิโค้ดเช่น │ ╭────┴────╮ │ state A ├───╮ ╰─────────╯ │ │ ╭────v────╮ │ state B │ ╰─────────╯ รายละเอียดเพิ่มเติม: แปลงเฉพาะ + - | อักขระ - อักขระอื่นควรไม่เปลี่ยนแปลง ใช้ กล่อง DRAWINGS แนวตั้งแสง (U + …

4
วิธีที่ถูกต้องในการเพิ่มตัวเลขเพื่อรับ 8 จำนวนมาก
ได้รับแรงบันดาลใจจากคำถามนี้ซึ่งได้รับแรงบันดาลใจเพิ่มเติมจากข้อนี้เขียนโปรแกรมที่ใช้จำนวนเต็มสองจำนวนและเพิ่มพวกมันในแบบที่ไม่เหมือนใคร สำหรับการอ้างอิงตัวเลขจะถูกแสดงด้วยวิธีต่อไปนี้: _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| โปรดทราบว่า 1 ใช้ทั้งสองส่วนทางด้านขวาไม่ใช่ด้านซ้าย มีอักขระพิเศษสองตัวที่สามารถสร้างได้ด้วยวิธีนี้ซึ่งไม่ใช่ตัวเลข ดูตารางเพิ่มเติมด้านล่าง: | 0 1 2 3 4 5 6 7 8 9 --+-------------------- 0 | …

3
ค้นหาวิธีแก้ปัญหาทั้งหมดของปริศนาตัวเลขนี้ในเวลาที่สั้นที่สุด
ประวัติศาสตร์ บริษัท ของฉันส่งจดหมายข่าวรายสัปดาห์ให้กับทุกคนภายใน บริษัท รวมอยู่ในจดหมายข่าวเหล่านี้เป็นปริศนาพร้อมกับตะโกนให้คนใน บริษัท เป็นคนแรกที่ส่งอีเมล / ให้บริการแก้ปัญหาลับสมองของสัปดาห์ก่อน ปริศนาเหล่านี้ส่วนใหญ่ค่อนข้างน่าเบื่อและค่อนข้างน่าเบื่อสำหรับ บริษัท เทคโนโลยี แต่มีหนึ่งเดือนหลายเดือนหลังที่ดึงดูดความสนใจของฉัน ปริศนาดั้งเดิม: รับรูปร่างด้านล่าง: คุณมีตัวเลขธรรมชาติตั้งแต่ 1 ถึง 16 พอดีกับพวกเขาทั้งหมดเป็นรูปร่างนี้เช่นที่แถวที่ต่อเนื่องกันและคอลัมน์ที่อยู่ติดกันรวมกันได้ถึง 29 ตัวอย่างเช่นทางออกหนึ่งของปริศนานี้ (ซึ่งเป็นโซลูชัน "บัญญัติ" ที่ฉันส่งไปยังจดหมายข่าว) มีดังต่อไปนี้: อย่างไรก็ตามในการแก้ปัญหาฉันพบข้อมูลที่น่าสนใจบ้าง: มีวิธีแก้ปัญหามากกว่าแค่นั้น ในความเป็นจริงมี 9,368 โซลูชั่น หากคุณขยายชุดกฎเพื่อกำหนดให้แถวและคอลัมน์เท่ากับกันไม่จำเป็นต้องเป็น 29 คุณจะได้รับ 33,608 โซลูชัน: 4,440 โซลูชั่นรวมเป็น 27 7,400 โซลูชั่นรวมเป็น 28 9,368 โซลูชั่นรวมเป็น 29 6,096 โซลูชั่นรวมเป็น 30 5,104 โซลูชั่นรวมเป็น …

15
ค้นหาพลังที่สมบูรณ์แบบ n-th!
อำนาจที่สมบูรณ์แบบเป็นจำนวนของรูปแบบa**bที่และa>0b>1 ยกตัวอย่างเช่นเป็นพลังงานที่สมบูรณ์แบบเพราะมันสามารถแสดงเป็น1255**3 เป้าหมาย งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่พบว่าnพลังงานที่สมบูรณ์แบบ -th nให้เป็นจำนวนเต็มบวก รายละเอียด พลังที่สมบูรณ์แบบครั้งแรกคือ1(ซึ่งก็คือ1**2) อินพุต / เอาต์พุตในรูปแบบที่เหมาะสม Built-in จะได้รับอนุญาต ข้อมูลเพิ่มเติม OEIS A001597 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ Testcases input output 1 1 2 4 3 8 4 9 5 16 6 25 7 27 8 32 9 36 10 49

10
อ่าน n สุ่มบรรทัดจากไฟล์ขนาดใหญ่ที่อาจเกิดขึ้น
ความท้าทายนี้เกี่ยวกับการอ่านบรรทัดสุ่มจากไฟล์ขนาดใหญ่ที่อาจเกิดขึ้นโดยไม่ต้องอ่านไฟล์ทั้งหมดลงในหน่วยความจำ อินพุต จำนวนเต็มnและชื่อของไฟล์ข้อความ เอาท์พุต n บรรทัดของไฟล์ข้อความที่เลือกอย่างสุ่มโดยไม่ต้องเปลี่ยน คุณสามารถสันนิษฐานได้ว่าnอยู่ในช่วง 1 ถึงจำนวนบรรทัดในไฟล์ ระวังเมื่อสุ่มตัวอย่างnตัวเลขโดยการสุ่มจากช่วงที่คำตอบที่คุณได้รับนั้นเหมือนกัน rand()%nใน C ไม่เหมือนกัน ทุกผลลัพธ์จะต้องมีโอกาสเท่าเทียมกัน กฎและข้อ จำกัด แต่ละบรรทัดของไฟล์ข้อความจะมีจำนวนอักขระเท่ากันและจะต้องไม่เกิน 80 รหัสของคุณจะต้องไม่อ่านเนื้อหาใด ๆ ของไฟล์ข้อความยกเว้น: สายเหล่านั้นมันออกมา บรรทัดแรกในการคำนวณจำนวนอักขระต่อบรรทัดในไฟล์ข้อความ เราสามารถสมมติว่าตัวละครแต่ละตัวในไฟล์ข้อความใช้เวลาหนึ่งไบต์ ตัวแยกบรรทัดจะถือว่ามีความยาว 1 ไบต์ วิธีแก้ปัญหาอาจใช้ตัวคั่นบรรทัดยาว 2 ไบต์เฉพาะในกรณีที่พวกเขาระบุความต้องการนี้ คุณอาจจะสมมติว่าบรรทัดสุดท้ายถูกยกเลิกโดยตัวแยกบรรทัด คำตอบของคุณควรเป็นโปรแกรมที่สมบูรณ์ แต่คุณสามารถระบุอินพุตในวิธีใดก็ได้ที่สะดวก ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือไลบรารีที่คุณต้องการ หมายเหตุ มีข้อกังวลเกี่ยวกับการคำนวณจำนวนบรรทัดในไฟล์ เมื่อ nimi ชี้ให้เห็นในความคิดเห็นคุณสามารถสรุปได้จากขนาดไฟล์และจำนวนตัวอักษรต่อบรรทัด แรงจูงใจ ในการแชทบางคนถามว่านี่เป็นคำถามที่ว่า "Do X ปราศจาก Y" หรือไม่ ฉันตีความสิ่งนี้เพื่อถามว่าข้อ จำกัด นั้นผิดปกติหรือไม่ …

30
สลับลำดับสัญญาณ
บทนำ สัญญาณของตัวเลขเป็นทั้ง+หรือ-ทุกที่ไม่ใช่ศูนย์จำนวนเต็ม ศูนย์ตัวเองนั้นไม่มีความหมาย ( +0เหมือนกัน-0) ในลำดับต่อไปนี้เราจะสลับกันระหว่างสัญญาณบวกที่ศูนย์และเครื่องหมายลบ ลำดับเริ่มต้นด้วย1เราเขียน1ด้วยเครื่องหมายบวกโดยมีศูนย์ (อันนี้แปลก แต่เราแค่คูณจำนวนด้วย 0) และเครื่องหมายลบ: 1, 0, -1 หมายเลขถัดไปคือ2และเราทำสิ่งเดียวกันอีกครั้ง: 2, 0, -2 ลำดับในที่สุดคือ: 1, 0, -1, 2, 0, -2, 3, 0, -3, 4, 0, -4, 5, 0, -5, 6, 0, -6, 7, 0, -7, ... หรือรูปแบบที่อ่านได้มากขึ้น: a(0) = 1 a(1) = 0 a(2) = …

20
สลายจำนวน!
งานของคุณคือการแยกตัวเลขโดยใช้รูปแบบด้านล่าง นี้จะคล้ายกับการแปลงฐานยกเว้นที่แทนของรายชื่อdigitsในฐานคุณรายการvaluesเช่นว่ารายการเพิ่มขึ้นเพื่อป้อนข้อมูล หากฐานที่กำหนดคือnแต่ละหมายเลขในรายการจะต้องอยู่ในรูปแบบของk*(n**m)ที่ไหน0<=k<nและmไม่ซ้ำกันทั่วทั้งรายการ รายละเอียด รูปแบบอินพุต / เอาท์พุตที่สมเหตุสมผล โปรแกรม / ฟังก์ชั่นของคุณใช้ 2 อินพุทและเอาท์พุทรายการ รายการเอาท์พุทสามารถอยู่ในลำดับใด ๆ 0 สามารถยกเว้นหรือรวมไว้ได้ 0อนุญาตให้นำหน้า Built-in จะได้รับอนุญาต Testcases number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

2
แมวจะไปไหน (กลศาสตร์วงโคจร)
แมวเกือบเยอะจะลดลงในพื้นที่ (ไม่ต้องกังวลกับชุดอวกาศและทุกอย่าง) ที่จุดด้วยความเร็ว(x, y, z) (vx, vy, vz)มีการคงเพียบหนาแน่นดาวเคราะห์ (กับปริมาณของ 0) ที่จุด(0, 0, 0)และจะดึงดูดวัตถุในระยะไกลด้วยความเร่งr 1/r^2ตามแรงโน้มถ่วงของนิวตันวัตถุจะไปหลังเวลาtไหน? lim (mass --> 0) <position of cat>เกือบเยอะในกรณีนี้หมายความว่าคุณจะแสดงผลค่าของ มวลได้รับผลกระทบจากแรงโน้มถ่วงของโลก แต่ดาวเคราะห์ไม่ได้รับผลกระทบจากแรงโน้มถ่วงของแมว กล่าวอีกนัยหนึ่งศูนย์กลางของร่างกายได้รับการแก้ไข นี่คล้ายกับCode Golf: ชะตากรรมของยานอวกาศคืออะไร? [รุ่นจุดลอยตัว]แต่นี่แตกต่างเพราะมันเป็นการวัดความแม่นยำ คุณอาจใช้โซลูชันตามการจำลองซึ่งต้องทำงานในเวลาน้อยกว่า 3 วินาทีหรือคุณอาจใช้โปรแกรมที่ให้ค่าที่แน่นอน (ต้องทำงานในเวลาน้อยกว่า 3 วินาที) ดูรายละเอียดการให้คะแนนด้านล่าง หากคุณใช้แบบจำลองมันไม่จำเป็นต้องเหมือนกัน แต่คะแนนของคุณจะต่ำกว่าเนื่องจากความไม่ถูกต้อง อินพุต : x y z vx vy vz tไม่จำเป็นต้องเป็นจำนวนเต็มที่แทน x, y, z พิกัดความเร็วในทิศทาง …

8
แปลงเมทริกซ์
เขียนโปรแกรมหรือฟังก์ชั่นที่เมทริกซ์ A (ค่าสูงสุดของมิติของเมทริกซ์คือ 100) จะถูกเปลี่ยนเป็นเมทริกซ์ใหม่ B แต่ละองค์ประกอบของเมทริกซ์ใหม่ B คือผลรวมของเพื่อนบ้านเชิงบวกขององค์ประกอบที่เกี่ยวข้องของเมทริกซ์ A . มีการพิจารณาเฉพาะเพื่อนบ้านในทิศทางสี่มุมฉากและขอบไม่พันกัน อินพุตตัวอย่าง: 1 2 3 4 -1 -2 -3 -4 10 1 2 10 เอาท์พุท: 6 4 2 1 6 13 5 12 10 2 11 12 กฎ: ในฐานะที่เป็นอินพุตใช้จำนวนเต็ม นี่คือรหัสกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ
16 code-golf  math  matrix 

4
ส่วนประกอบที่เชื่อมต่ออย่างยิ่ง
จุดยอดที่แตกต่างกันสองจุดในกราฟกำกับนั้นเชื่อมต่อกันอย่างแน่นหนาหากมีเส้นทางในกราฟจากจุดหนึ่งไปยังอีกจุดหนึ่ง องค์ประกอบเชื่อมต่ออย่างยิ่งของกราฟเป็นส่วนหนึ่งของกราฟดังกล่าวว่าคู่ของจุดที่แตกต่างกันในกลุ่มย่อยในแต่ละมีการเชื่อมต่ออย่างมากและเพิ่มจุดใด ๆ ที่มากขึ้นในการย่อยจะทำลายคุณสมบัตินี้ ความท้าทายของคุณคือการแยกกราฟออกเป็นส่วนประกอบที่เชื่อมต่ออย่างแน่นหนา คุณต้องส่งออก SCC ทั้งหมดในกราฟ I / O: ในฐานะที่เป็นอินพุตคุณอาจใช้รายการของขอบชีทรายการ adjacency เมทริกซ์ adjacency หรือรูปแบบอินพุตที่สมเหตุสมผลอื่น ๆ ถามว่าคุณไม่แน่ใจ คุณอาจสมมติว่ากราฟไม่มีการตัดการเชื่อมต่อทั้งหมดและไม่มีขอบตัวเอง แต่คุณไม่สามารถตั้งสมมติฐานเพิ่มเติมได้ คุณยังสามารถเลือกรายการจุดยอดเป็นอินพุตเช่นเดียวกับจำนวนจุดยอด ในฐานะที่เป็นเอาท์พุทคุณจะต้องให้การแบ่งจุดยอดเช่นรายการของจุดยอดที่แต่ละรายการย่อยเป็นองค์ประกอบที่เชื่อมต่ออย่างยิ่งหรือการติดฉลากของจุดยอดที่แต่ละป้ายสอดคล้องกับองค์ประกอบที่แตกต่างกัน หากคุณใช้การติดฉลากฉลากจะต้องเป็นจุดยอดหรือลำดับของจำนวนเต็มติดต่อกัน นี่คือการป้องกันไม่ให้หลุดการคำนวณลงในฉลาก ตัวอย่าง: ตัวอย่างเหล่านี้ใช้รายการขอบที่แต่ละขอบถูกชี้นำจากรายการที่ 1 ไปยังรายการที่สองและพาร์ติชันเอาท์พุท คุณมีอิสระที่จะใช้รูปแบบนี้หรือรูปแบบอื่น อินพุตอยู่บนบรรทัดแรกเอาต์พุตอยู่บนบรรทัดที่สอง [[1, 2], [2, 3], [3, 1], [1, 4]] [[1, 2, 3], [4]] [[1, 2], [2, 3], [3, 4]] [[1], [2], …

10
สร้างแผนที่ลูกตก
บทนำ สำหรับคนที่ไม่เคยได้ยินเกมนี้มาก่อน คุณกำลังเล่นลูกบอลที่ต้องการเอาตัวรอดนานที่สุด ทำได้โดยเลื่อนไปทางซ้ายหรือขวาไปที่รู เมื่อแผนที่ขยับขึ้นคุณต้องลงไปเพื่อความอยู่รอดอีกต่อไป หากคุณค้นหารูปภาพคุณอาจรู้ว่าฉันหมายถึงเกมใด งาน รับจำนวนเต็มบวกnส่งออกแผนที่ลูกตกของชั้นn ระหว่างเลเยอร์มี 4 บรรทัดใหม่ ความกว้างของเลเยอร์ประกอบด้วยอักขระขีดล่าง 25 ตัวโดยมีความยาวหนึ่งรูที่ 5 นั่นหมายความว่าความกว้างทั้งหมดเท่ากับ 30 ซึ่งจะถูกเปลี่ยนแบบสุ่มหลังจากแต่ละเลเยอร์ ตัวอย่างของเลเยอร์ที่ถูกต้องคือ: _______________ __________ รูอาจอยู่ที่ขอบราวกับว่าเลเยอร์เป็นรูปทรงกระบอก: _________________________ โปรดทราบว่ามีช่องว่างนำหน้า 2 ช่องและช่องว่างท้าย 3 ช่อง ทำให้เป็นรูเดียวที่มีความกว้าง 5 กรณีทดสอบ สำหรับn = 4 นี่เป็นเอาต์พุตที่ถูกต้อง: _______________ __________ ______ ___________________ _______________________ __ _________________________ หมายเหตุ: หลุมจะต้องกระจายอย่างสม่ำเสมอ อนุญาตให้ขึ้นบรรทัดใหม่และ / หรือขึ้นบรรทัดใหม่ นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!

15
ผลิตภัณฑ์เกลาขั้นต่ำ
ผลิตภัณฑ์เกลาขั้นต่ำ แรงบันดาลใจสำหรับปัญหารหัสกอล์ฟแห่งนี้อยู่ห่างจากการแข่งขันรหัสแยมของ Google หลักฐานที่อยู่เบื้องหลังปัญหาคือให้อินพุตของเวกเตอร์ที่มีความยาวต่างกันสองตัวเพื่อหาสเกลาร์ขั้นต่ำที่เป็นไปได้ สเกลาร์สามารถพบได้โดยใช้สูตรต่อไปนี้: x1 * y1 + x2 * y2 + ... + xn * yn อย่างไรก็ตามปัญหาคือสามารถหาค่าสเกลาร์ได้หลายค่าขึ้นอยู่กับลำดับของตัวเลขในกรณีอินพุต (ดูด้านล่าง) เป้าหมายของคุณคือการกำหนดวิธีการแก้ปัญหาจำนวนเต็มสเกลาร์ขั้นต่ำที่เป็นไปได้โดยเสียบหมายเลขกรณีการป้อนเข้าในสมการและการแก้ปัญหา คุณสามารถใช้ทุกหมายเลขในอินพุตได้เพียงครั้งเดียวและต้องใช้ตัวเลขทั้งหมด อนุญาตให้ฉันยกตัวอย่างกับเวกเตอร์ต่อไปนี้ อินพุต 3 1 3 -5 -2 4 1 เอาท์พุต -25 จำนวนเต็มแรกในบรรทัดแสดงจำนวนตัวเลข, n ในแต่ละเวกเตอร์ ในกรณีนี้เรามีตัวเลขสามตัวในแต่ละเวกเตอร์ จำนวน n อาจแตกต่างกันไปในแต่ละกรณีทดสอบ แต่จะมีสองเวกเตอร์ ในอินพุตตัวอย่างผลิตภัณฑ์สเกลาร์ขั้นต่ำจะเป็น -25 (-5 * 4) + (1 * 1) …

24
อาร์เรย์แบบสุ่มโดยไม่ต้องทำซ้ำ
ฉันกำลังตอบคำถามท้าทายหนึ่งที่นี่และงานนี้เป็นส่วนหนึ่งของความท้าทาย ฉันมีวิธีแก้ปัญหา 73 ไบต์ในจาวาสคริปต์ แต่ฉันคิดว่ามันมากเกินไปสำหรับสิ่งที่ง่าย ท้าทาย รับเป็นอินพุตจำนวนเต็มสองจำนวน: N ความยาวของอาร์เรย์ที่คาดหวัง Rช่วงของช่วงเวลาเริ่มต้นในหนึ่ง: 1..Rไม่0..R-1 เอาต์พุตในการรันแต่ละครั้งของโปรแกรม / ฟังก์ชันของคุณหนึ่งอาร์เรย์ที่Nมีความยาวต่างกันโดยมีค่าอยู่ระหว่างกัน1..Rในลักษณะที่ไม่มีค่าใดเกิดขึ้นมากกว่าหนึ่งครั้ง คุณต้องใช้R-valueในรหัสของคุณ ข้อ จำกัด 2 <= N <= Rคุณสามารถสันนิษฐานได้ว่า: ฉันอยากเห็นโซลูชันจาวาสคริปต์สั้นกว่าของฉัน 73 ไบต์ แต่แน่นอนมันเปิดทุกภาษา! หากภาษาของคุณไม่สามารถส่งกลับอาร์เรย์คุณสามารถพิมพ์ตัวเลขทั้งหมด)

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