คำถามติดแท็ก number

ความท้าทายนี้มีจุดมุ่งหมายเพื่อแก้ไขโดยใช้จัดการยอมรับเป็นอินพุตหรือส่งออกค่าตัวเลข

22
เลขชี้กำลังของจำนวนเชิงซ้อน
ได้รับสองจำนวนเต็มซึ่งอาจจะเป็นเชิงลบศูนย์หรือบวกaและb(ถ่ายในรูปแบบที่เหมาะสมใด ๆรวมทั้งการป้อนจำนวนเชิงซ้อนธรรมดา ) แปลงเป็นa + biที่iเป็นจำนวนจินตนาการ (รากที่สองของเชิงลบอย่างใดอย่างหนึ่ง) จากนั้นยกมันขึ้นสู่อำนาจของตัวแปรที่สาม (จำนวนเต็มบวก) ที่เป็นไปได้c จากนั้นคุณควรจะจบลงกับสิ่งที่ต้องการ จากนั้นคุณต้องส่งออกหรือส่งคืนและในรูปแบบที่เหมาะสม ( รวมถึงการแสดงผลจำนวนเชิงซ้อนธรรมดา )(a + bi)cd + eide อินพุตและเอาต์พุตอาจถูกถ่ายหรือแสดงผลในลำดับใด ๆ ตัวอย่าง: 5, 2, 2 -> 21, 20 1, 4, 2 -> -15, 8 -5, 0, 1 -> -5, 0

7
ไฟกระพริบเมื่อไหร่?
ลองนึกภาพคุณมีสองไฟ ไฟเหล่านี้กะพริบเปิดและปิดในอัตราที่กำหนด: Light 0: Delay 0ms and then blink every 1000ms Light 1: Delay 500ms and then blink every 1000ms ลองจำลองไฟเหล่านี้ในช่วง 2000ms แรก: 0ms: Light 0 on 500ms: Light 1 on 1000ms: Light 0 off 1500ms: Light 1 off 2000ms: Light 0 on ความท้าทาย รับรายการของคู่ที่สั่งซื้อซึ่งเป็นตัวแทนของเวลาสำหรับแสงเขียนโปรแกรมหรือฟังก์ชั่นเพื่อส่งออกลำดับสำหรับเมื่อพวกเขากระพริบ อินพุต อินพุตควรอยู่ในรูปแบบต่อไปนี้: TimeToSimulate Light0Delay,Light0Period Light1Delay,Light1Period …
10 code-golf  number 

12
ค้นหาศูนย์ที่สอง
ท้าทาย รับค่าจำนวนเต็มในรูปแบบเสริมของ 32- บิตสองส่งกลับดัชนีของเลขศูนย์ที่สำคัญน้อยที่สุดที่สองในการแทนแบบไบนารีซึ่งดัชนีของ0แทนบิตที่สำคัญน้อยที่สุดและดัชนีของ31แทนบิตที่สำคัญที่สุด หากไม่มีศูนย์ที่สองคุณอาจคืนค่า 0 จำนวนลบค่าเท็จหรือรายงานข้อผิดพลาดด้วยวิธีที่เหมาะสมในภาษาของคุณ คุณสามารถใช้การจัดทำดัชนี 1 แบบได้หากต้องการ แต่กรณีทดสอบด้านล่างจะใช้การจัดทำดัชนีแบบ 0 คุณอาจใช้จำนวนเต็มไม่ได้ลงนามถ้าคุณต้องการ [0, 2^32)ถ้าคุณทำแล้วคุณจะต้องจัดการกับจำนวนเต็มในช่วง [-2^31, 2^31)ถ้าคุณใช้ลงนามจำนวนเต็มคุณต้องจัดการกับจำนวนเต็มในช่วง กรณีทดสอบที่นี่จะใช้จำนวนเต็มที่ลงนาม แต่โปรดทราบว่า-x(ลงนาม) คือ2^32 - x(ไม่ได้ลงนาม) กรณีทดสอบ 0 (0b00) -> 1 1 (0b001) -> 2 10 (0b1010) -> 2 11 (0b01011) -> 4 12 (0b1100) -> 1 23 (0b010111) -> 5 -1 (0b11..11) -> …
10 code-golf  number 

13
สามเหลี่ยมของคลาร์ก
โอเคฉันเพิ่งจะเตะสามเหลี่ยมได้ไม่นาน Clark's Triangle เป็นรูปสามเหลี่ยมที่รายการทางซ้ายสุดของแต่ละแถวคือ 1 และรายการทางขวาสุดนั้นประกอบด้วยจำนวนทวีคูณ 6 ซึ่งเพิ่มขึ้นตามจำนวนแถวที่เพิ่มขึ้น นี่คือการสร้างภาพ 1 6 1 . 12 1 . . 18 1 . . . 24 1 . . . . 30 1 . . . . . 36 เช่นเดียวกับสามเหลี่ยมของ Pascal รายการอื่น ๆ ทั้งหมดคือผลรวมของตัวเลขทางด้านขวาบนและซ้ายบน นี่คือสองสามแถวแรกที่ถูกเติมเต็ม 1 6 1 7 12 1 8 19 …
10 code-golf  math  number 

6
ตัวเลขที่เป็น palindromes ใน N base
ได้รับจำนวนเต็มไม่เป็นลบn >= 0ออกไปตลอดกาลลำดับเลขx_i >= 3ที่มี palindromes ในตรงnฐานที่แตกต่างกันที่ฐานที่สามารถb2 <= b <= x_i-2 นี้เป็นพื้นผกผันของOEIS A126071nที่คุณส่งออกที่ดัชนีอยู่ในลำดับที่มีค่า มันแตกต่างกันเล็กน้อยเพราะฉันเปลี่ยนดังนั้นคุณจึงไม่สนใจเบสb = x_i-1, x_i, x_i+1เนื่องจากผลลัพธ์สำหรับเบสเหล่านั้นมักจะเหมือนเดิมเสมอ นอกจากนี้การชดเชยจะแตกต่างกัน x_iจะมีการ จำกัด จำนวน>= 3เพื่อให้ระยะแรกของผลสำหรับแต่ละnคือA037183 โปรดทราบว่ารูปแบบผลลัพธ์มีความยืดหยุ่น แต่ตัวเลขควรคั่นด้วยวิธีที่ดี ตัวอย่าง: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

5
ค้นหาการแสดงตัวเลขที่สั้นที่สุดใน Modular SNUSP
พื้นหลัง ภาษาโปรแกรมลึกลับหลายภาษาไม่มีตัวเลขในตัวดังนั้นคุณต้องคำนวณมันในขณะใช้งานจริง และในหลายกรณีเหล่านี้การแสดงตัวเลขอาจน่าสนใจทีเดียว เรามีความท้าทายเกี่ยวกับการแสดงตัวเลขสำหรับ Underload ความท้าทายนี้เป็นเรื่องเกี่ยวกับที่เป็นตัวแทนของตัวเลขในModular SNUSP (โปรดทราบว่าคุณไม่จำเป็นต้องเรียนรู้ SNUSP เพื่อให้การท้าทายนี้เสร็จสมบูรณ์ - ข้อมูลทั้งหมดที่คุณต้องการอยู่ในข้อกำหนด - แต่คุณอาจพบว่าพื้นหลังน่าสนใจ) งาน สำหรับวัตถุประสงค์ของการท้าทายนี้เป็นจำนวน Modular SNUSP คือสตริงที่เกิดขึ้นจากตัวละคร@, +และ=ยกเว้นว่าตัวอักษรตัวสุดท้ายเป็น#และที่ตัวละครสุดท้ายจะต้องเป็น+หรือ=(มันไม่สามารถเป็น@) ยกตัวอย่างเช่นตัวเลขที่ถูกต้อง ได้แก่@+#, ==#และ@@+@=#; ตัวอย่างของตัวเลขที่ไม่ถูกต้อง ได้แก่+=, และ@@#+?+# ค่าของหมายเลข Modular SNUSP ถูกคำนวณแบบเรียกซ้ำดังนี้: # มีค่าเป็น 0 (นี่คือกรณีพื้นฐาน) ถ้าตัวเลขมีรูปแบบ=xสำหรับสตริงมูลค่าเท่ากับมูลค่าของxx หากตัวเลขมีรูปแบบ+xสำหรับสตริงใด ๆxค่าของมันจะเท่ากับค่าของxบวก 1 ถ้าตัวเลขมีแบบฟอร์ม@cxสำหรับอักขระตัวเดียวcและสตริงxมูลค่าเท่ากับมูลค่าของแถมมูลค่าของxcx สำหรับความท้าทายนี้คุณต้องเขียนโปรแกรมที่ใช้จำนวนเต็มไม่ใช่ค่าลบเป็นอินพุตและเอาต์พุตสตริงที่เป็นหมายเลข Modular SNUSP ที่สั้นที่สุดที่เป็นไปได้ที่มีค่าเท่ากับอินพุต ชี้แจง เป็นไปได้ทั้งหมดที่จะมีมากกว่าหนึ่งสตริงที่มีค่าเท่ากันและโดยเฉพาะอย่างยิ่งสำหรับจำนวนเต็มบางตัวจะมีการผูกสำหรับหมายเลข Modular SNUSP ที่สั้นที่สุดด้วยค่านั้น ในกรณีเช่นนี้คุณสามารถส่งออกตัวเลขใด ๆ …
10 code-golf  number 

2
วันหนึ่งที่การแข่งม้า
พื้นหลัง ย้อนกลับไปในช่วงปลายยุค 90/00 แรกเมื่อ Flash Web Design เจ๋งมากจนไม่มีใครสามารถมีชีวิตอยู่ได้โดยไม่ต้องมีเว็บไซต์ Flash ที่สมบูรณ์หรืออย่างน้อยก็เป็นวิดเจ็ตอนิเมชั่นฉันได้รับการว่าจ้างให้พัฒนา ในรูปของแอนิเมชั่นสไตล์วิดีโอเกมยุค 80 ดังนั้นผู้เข้าชมเว็บไซต์ไม่เพียง แต่สามารถอ่านผลการแข่งขันได้เท่านั้น แต่พวกเขายังสามารถดูได้ในแอนิเมชั่นที่เคลื่อนไหว! ว้าว! ที่น่าประทับใจ! พวกเขาให้ไฟล์ CSV พร้อมรายละเอียดการแข่งขันทั้งหมด: ลำดับเริ่มต้นและชื่อม้าชื่อผู้ขับขี่รางวัลและอื่น ๆ แอพ Flash ของฉันอ่านไฟล์นั้นสำหรับการแข่งขันแต่ละครั้งและแสดงภาพเคลื่อนไหวดังกล่าวข้างต้น ทุกวันนี้การสนับสนุน Flash ลดลงอย่างมากดังนั้นเราต้องเปลี่ยนกลับเป็นASCII-art ! งาน งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่อ่านข้อมูลการแข่งขันในรูปแบบ CSV จากอินพุตมาตรฐานและส่งออกการแสดง ASCII-art ของการแข่งขันดังที่แสดงในตัวอย่างด้านล่าง INPUT ข้อมูล CSV พร้อม 2 ฟิลด์: 1) เริ่มสั่งซื้อ; 2) เวลาถึงที่ Finish ในรูปแบบ1.13.4(1 นาที, 13 วินาที, …

9
ตัวเลขการพับซุปเปอร์
เราได้กำหนดไว้แล้วจำนวนพับที่นี่ แต่ตอนนี้เรากำลังจะนิยาม Super Folding Number หมายเลข Super Folding เป็นจำนวนที่ถ้ามีเวลามากพอในที่สุดก็จะถึงหนึ่งน้อยกว่ากำลังสอง วิธีการพับนั้นแตกต่างจากคำถามหมายเลขการพับเล็กน้อย อัลกอริธึมการพับมีดังนี้: ทำหน้าที่เป็นตัวแทนไบนารี เช่น 5882 1011011111010 แยกมันออกเป็นสามส่วน ครึ่งแรก, ครึ่งหลังและตัวเลขกลาง (ถ้ามีจำนวนหลักคี่) 101101 1 111010 หากตัวเลขกลางเป็นศูนย์ตัวเลขนี้จะไม่สามารถถูกพับได้ ย้อนกลับครึ่งหลังและซ้อนทับในครึ่งแรก 010111 101101 เพิ่มตัวเลขในสถานที่ 111212 Iff มี 2s ใด ๆ ในผลลัพธ์ที่ไม่สามารถพับหมายเลขได้มิฉะนั้นหมายเลขใหม่คือผลลัพธ์ของอัลกอริธึมการพับ ตัวเลขคือหมายเลข Super Folding หากสามารถพับเป็นสตริงต่อเนื่องได้ (ตัวเลขการพับทั้งหมดเป็นตัวเลขการพับอย่างมาก) งานของคุณคือการเขียนรหัสที่ใช้ในจำนวนและส่งออกค่าความจริงถ้าตัวเลขเป็นจำนวน Super Folding และเป็นเท็จอย่างอื่น คุณจะได้คะแนนตามขนาดของโปรแกรมของคุณ ตัวอย่าง 5200 แปลงเป็นไบนารี: 1010001010000 แบ่งครึ่ง: 101000 …

7
สร้างเมทริกซ์ของจาโคเบียน
ใช้เวกเตอร์ของราชวงศ์และใช้บางฟังก์ชั่นอนุพันธ์ทั่วไป จาโคเบียนจะได้รับแล้วโดยเมทริกซ์ดังกล่าวว่า: ตัวอย่างเช่นสมมติว่าและm=3 n=2จากนั้น (ใช้การจัดทำดัชนีตาม 0) ในขณะนั้นชาวโคเบียนfนั้น เป้าหมายของการท้าทายนี้คือการพิมพ์เมทริกซ์จาโคเบียนนี้ อินพุต โปรแกรม / ฟังก์ชั่นของคุณควรรับข้อมูลเป็นจำนวนเต็มบวกจำนวนเต็มสองตัวmและnแสดงจำนวนส่วนประกอบของfและuตามลำดับ อินพุตอาจมาจากแหล่งที่ต้องการ (stdio, function function, ฯลฯ ) คุณอาจกำหนดลำดับที่ได้รับสิ่งเหล่านี้และสิ่งนี้จะต้องสอดคล้องกับคำตอบของคุณ (โปรดระบุในคำตอบของคุณ) เอาท์พุต สิ่งที่แสดงถึงเมทริกซ์ของจาโคเบียน การเป็นตัวแทนนี้จะต้องสะกดองค์ประกอบทั้งหมดของเมทริกซ์ของจาโคเบียนอย่างชัดเจน แต่รูปแบบที่แน่นอนของแต่ละคำจะถูกนำไปปฏิบัติตราบใดที่ไม่มีความชัดเจนในสิ่งที่สร้างความแตกต่างและด้วยความเคารพต่อสิ่งต่างๆ ตัวอย่างแบบฟอร์มที่ยอมรับได้สำหรับการแทนเมทริกซ์: รายการของรายการที่แต่ละรายการของรายการด้านนอกสอดคล้องกับแถวของ Jacobian และแต่ละรายการของรายการภายในสอดคล้องกับคอลัมน์ของ Jacobian สตริงหรือเอาต์พุตข้อความที่แต่ละบรรทัดเป็นแถวของ Jacobian และแต่ละตัวคั่นคั่นรายการในบรรทัดสอดคล้องกับคอลัมน์ของ jacobian การแสดงกราฟิก / ภาพบางส่วนของเมทริกซ์ ตัวอย่าง: สิ่งที่แสดงโดย Mathematica เมื่อใช้MatrixFormคำสั่ง วัตถุเมทริกซ์หนาแน่นอื่น ๆ ที่ทุกรายการถูกเก็บไว้ในหน่วยความจำแล้วและสามารถสอบถามได้ (เช่นคุณไม่สามารถใช้วัตถุเครื่องกำเนิดไฟฟ้า) ตัวอย่างจะเป็นวิธีที่ Mathematica แสดงถึงวัตถุเมทริกซ์ภายใน ตัวอย่างรูปแบบรายการ: สตริงของฟอร์มd f_i/d …

25
คำนวณความเร็วสัมพัทธภาพ
ในทฤษฎีสัมพัทธภาพพิเศษความเร็วของวัตถุเคลื่อนที่ที่สัมพันธ์กับวัตถุอื่นที่เคลื่อนที่ในทิศทางตรงกันข้ามนั้นได้รับจากสูตร: s= v + u1 + v u / c2.s=โวลต์+ยู1+โวลต์ยู/ค2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) ในสูตรนี้โวลต์โวลต์vและยูยูuคือขนาดของความเร็วของวัตถุและคคcคือความเร็วของแสง (ซึ่งประมาณ3.0 × 108m / s3.0×108ม./s3.0 \times 10^8 \,\mathrm m/\mathrm sใกล้พอสำหรับความท้าทายนี้ประมาณ) ตัวอย่างเช่นถ้าวัตถุหนึ่งถูกย้ายที่v = 50,000 m/sและวัตถุอื่นกำลังจะย้ายไปที่u = 60,000 m/sความเร็วของวัตถุแต่ละเทียบกับคนอื่น ๆ s …

7
สี่เหลี่ยมในสี่เหลี่ยม
รับอินพุตของจำนวนเต็มบวกnเขียนโปรแกรมที่เสร็จสิ้นกระบวนการต่อไปนี้ ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่มากกว่าnสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบและเป็นการต่อเชื่อมnและอีกจำนวนหนึ่ง ลำดับของตัวเลขnอาจไม่สามารถเปลี่ยนแปลงได้ จำนวนตัดแบ่งไปยังการผลิตตารางที่สมบูรณ์แบบอาจจะเรียกว่าnr_1 ถ้าr_1ไม่ใช่สี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบให้ทำซ้ำกระบวนการข้างต้นด้วยr_1เช่นเดียวกับอินพุตใหม่เข้าสู่กระบวนการ ทำซ้ำจนกว่าจะเป็นตารางที่สมบูรณ์ชี้แนะr_ks sqrt(s)พิมพ์ค่าของ สามารถป้อนข้อมูลในรูปแบบใดก็ได้ คุณสามารถสันนิษฐานว่าnเป็นจำนวนเต็มบวก ถ้าr_kมีศูนย์นำ (และr_k≠ 0), ศูนย์สามารถถูกละเว้น กรณีทดสอบ นี่คือบางกรณีทดสอบ กระบวนการสาธิตขั้นตอนข้างต้น Input: 23 Process: 23, 2304, 4 Output: 2 Input: 10 Process: 10, 100, 0 Output: 0 Input: 1 Process: 1, 16, 6, 64, 4 Output: 2 Input: 5 Process: 5, 529, 29, 2916, 16 …

1
นาฬิกาดิจิตอลจับคู่ปริศนา
มีปริศนามากมายที่มีการจับคู่ที่เกี่ยวข้องกับการเพิ่มการเอาออกหรือการย้ายจำนวนที่ตรงกันเพื่อสร้างตัวเลขหรือรูปร่างใหม่ นี่เป็นเช่นนั้นพร้อมนาฬิกาดิจิตอล ให้เวลาที่ถูกต้องกับนาฬิกาดิจิตอล 12 ชั่วโมงเอาท์พุทตัวเลขที่ต้องการย้ายเส้นที่น้อยที่สุดเพื่อให้มันทุกหลักที่มองเห็นได้บนนาฬิกากลายเป็นตัวเลขนั้น หากมีตัวเลขขั้นต่ำมากกว่าหนึ่งหลักให้ส่งออกทั้งหมด หากเป็นไปไม่ได้ที่จะทำให้ทุกหลักเหมือนกันผลลัพธ์-1หรือค่าเท็จอื่น ๆ ที่ไม่ใช่ 0 (คุณจะได้รับจำนวนมากเหล่านี้) ตัวเลขนาฬิกามีลักษณะดังนี้: | | _ _| |_ _ _| _| |_| | _ |_ _| _ |_ |_| _ | | _ |_| |_| _ |_| _| _ | | |_| กรณีทดสอบ: การป้อนข้อมูล: 123 แสดงนาฬิกา: _ _ | : _| …

3
ค้นหาจุดตัดของ 2 ชุดในสัญลักษณ์ช่วงเวลาแบบรวม
ค้นหาจุดตัดของ 2 ชุดในสัญลักษณ์ช่วงเวลาแบบรวม เมื่อกำหนดจำนวนจริงสองชุดที่อธิบายว่าเป็นการรวมกันของช่วงเวลาเอาท์พุทคำอธิบายของจุดตัดของทั้งสองชุดเป็นสหภาพที่มีช่วงเวลาชนิดเดียวกัน ชุดข้อมูลเข้าจะประกอบด้วยสหภาพต่างๆของช่วงเวลาเช่นว่าแต่ละช่วงเวลาเริ่มต้นและสิ้นสุดที่จำนวนเต็มที่แตกต่างกัน (เช่นไม่มีช่วงเวลาที่มีการวัดศูนย์) อย่างไรก็ตามช่วงเวลาที่แตกต่างกันในชุดเดียวกันอาจเริ่มต้นหรือสิ้นสุดที่จำนวนเต็มหรือทับซ้อนกัน ชุดเอาท์พุทต้องเป็นยูเนี่ยนของช่วงเวลาซึ่งเริ่มต้นและสิ้นสุดที่จำนวนเต็ม แต่ไม่มีช่วงเวลาในเอาต์พุตอาจทับซ้อนกันแม้แต่ในจำนวนเต็มเดียว อินพุตอาจอยู่ในรูปแบบใด ๆ ที่เหมาะสมกับภาษาที่คุณเลือกตราบใดที่มันประกอบด้วยรายการจำนวนเต็มสองคู่ ตัวอย่างเช่นคุณอาจแสดงชุดเป็น: [-10,-4]u[1,5]u[19,20] หรือเป็น: [[-10,-4],[1,5],[19,20]] หรือเป็น: [-10,-4;1,5;19,20] การแทนค่าเอาต์พุตของคุณจะต้องเหมือนกับการแทนค่าอินพุตของคุณ (ยกเว้นว่าจะเป็นเพียงช่วงเวลาเดียวเท่านั้นแทนที่จะเป็นสองช่วง) ตัวอย่าง / กรณีทดสอบ: การป้อนข้อมูล: [[[-90,-4],[4,90]],[[-50,50]]] เอาท์พุท: [[-50,-4],[4,50]] กล่าวอีกนัยหนึ่งเรากำลังตัดกันชุดที่มีจำนวนจริงทั้งหมดระหว่าง -90 ถึง -4 และจำนวนจริงทั้งหมดระหว่าง 4 ถึง 90 กับเซตที่มีจำนวนจริงทั้งหมดระหว่าง -50 ถึง 50 จุดตัดคือชุดที่มีทั้งหมด จำนวนจริงระหว่าง -50 ถึง -4 และจำนวนจริงทั้งหมดระหว่าง 4 ถึง 50 คำอธิบายที่ชัดเจนยิ่งขึ้น: -90~~~~~-4 …

26
ตัวเลข N ใกล้เคียงกับการมีศูนย์สมดุล
วัตถุประสงค์ : ได้รับจำนวนเต็มบวกn: ถ้าnเป็นเลขคี่ให้แสดงรายการของnตัวเลขที่ใกล้เคียงกับ0ลำดับที่เพิ่มขึ้น ถ้าnเป็นเช่นนั้นให้ส่งออกค่า Falsey กรณีทดสอบ : 5 -> [-2,-1,0,1,2] 4 -> false (or any Falsey value) 1 -> [0] การดำเนินการอ้างอิง function update(){ var num = +document.getElementById("yield").value; if(num){ var out = document.getElementById("output"); if(num % 2 == 1){ // base is balanced var baseArr = []; for(var i=0;i<num;i++){ baseArr.push(i-Math.floor(num/2)); } …

5
ความยาวของรอบสำหรับสับที่สมบูรณ์แบบของทุกขนาด
ท้าทาย ในจำนวนรหัสที่สั้นที่สุด: คำนวณความยาวของวงจรการเปลี่ยนแปลงของการสลับที่สมบูรณ์แบบบนสำรับไพ่ทุกขนาดn (โดยที่n ≥ 2 และnเป็นคู่) เอาท์พุทตารางของทุกความยาวรอบ 2 ≤ n ≤ 1000 ( nแม้) โปรดทราบว่ามีวิธีพื้นฐานสองวิธีในการกำหนด shuffle ที่สมบูรณ์แบบ มีการสับเปลี่ยนออกซึ่งทำให้ไพ่ใบแรกอยู่ด้านบนและไพ่ใบสุดท้ายที่อยู่ด้านล่างและมีการสลับในซึ่งจะเลื่อนไพ่ใบแรกและใบสุดท้ายหนึ่งตำแหน่งตรงกลาง คุณสามารถเลือกได้ว่าจะทำแบบสุ่มหรือแบบสุ่ม; อัลกอริทึมเกือบจะเหมือนกันระหว่างทั้งสอง สับไพ่สำรับ 10 ใบ: [1,2,3,4,5,6,7,8,9,10] ↦ [1,6,2,7,3,8,4,9,5, 10] สลับจากสำรับไพ่ 10 ใบ: [1,2,3,4,5,6,7,8,9,10] ↦ [6,1,7,2,8,3,9,4,10, 5] ตัวอย่างกราฟิก ที่นี่เราเห็นว่าการสับเปลี่ยนบนสำรับไพ่ 20 ใบมีความยาว 18 รอบ (นี่เป็นภาพประกอบเท่านั้นโซลูชันของคุณไม่จำเป็นต้องใช้วงจรการแสดงผลกราฟิก) เด็ค 52 การ์ดคลาสสิกในทางกลับกันมีความยาวรอบการสลับสับเปลี่ยนเพียง 8 ขั้นตอน (ไม่แสดง) การสลับในสำรับไพ่ 20 …

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