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

Binary เป็นระบบเลขฐาน 2 ใช้แท็กนี้สำหรับความท้าทายที่เกี่ยวข้องกับฐาน 2

7
จำนวนขององค์ประกอบที่ไม่ว่างที่แตกต่างกันของการขยายฐานสอง
การเรียงลำดับคือลำดับใด ๆ ที่คุณสามารถหาได้จากอีกอันด้วยการลบจำนวนอักขระใด ๆ subsequences ไม่ว่างเปล่าที่แตกต่างของ100มี0, 1, 00, ,10 100subsequences ไม่ว่างเปล่าที่แตกต่างของ1010มี0, 1, 00, 01, 10, 11,010 , 100, 101, ,1101010 เขียนโปรแกรมหรือฟังก์ชั่นที่ให้จำนวนเต็มบวก nส่งกลับจำนวนของ subsequences ไม่ว่างเปล่าที่แตกต่างกันของการขยายตัวไบนารีของn ตัวอย่าง: ตั้งแต่4เป็น100ในไบนารีและเราเห็นว่ามันมีห้า subsequences f(4) = 5ไม่ว่างเปล่าที่แตกต่างกันข้างต้นดังนั้น เริ่มต้นจากn = 1ลำดับเริ่มต้น: 1, 3, 2, 5, 6, 5, 3, 7, 10, 11, 9, 8, 9, 7, 4, 9, 14, …

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 

30
การนับในไบนารี nybbles
ความท้าทายนี้คือการส่งออกไปยังอาคาร, หน้าต่าง, ผ้าใบหรือหน้าจอตัวเลขรวมถึง 10 แต่ละตัวเลขที่ส่งออกจะต้องแสดงเป็น nybble ที่มีความกว้าง 4 บิตดังนั้นศูนย์จะต้องแสดงเป็น0000เป็นต้น คุณสามารถแยกแต่ละหมายเลขที่ส่งออกด้วยช่องว่างเครื่องหมายจุลภาคหรือการขึ้นบรรทัดใหม่ ทางออกที่เล็กที่สุดชนะ แต่ตัวเลขสามารถแสดงในลำดับใดก็ได้ที่คุณต้องการตราบใดที่ไม่มีหมายเลขซ้ำในลำดับของคุณ รายการในภาษาไบนารีระดับต่ำไม่จำเป็นต้องกังวลเกี่ยวกับตัวคั่นช่องว่างหรือเครื่องหมายจุลภาคถ้ามันเป็นไปไม่ได้ที่จะส่งออกด้วยเครื่องหมายจุลภาคหรือช่องว่างสีขาว (เช่นเอาท์พุทมาตรฐานถูก จำกัด ไว้ที่ไบนารีเท่านั้นหรือโซลูชั่นของคุณ เช่นKIM-1ซึ่งมีจอแสดงผลดิจิตอล จำกัด )

12
เมื่อไหร่ฉันจะได้รถไบนารี
ฉันสังเกตเห็นว่ามาตรวัดระยะทางรถยนต์ของฉันอยู่ที่ 1,01101 เมื่อฉันไปทำงานวันนี้ อันไหนเป็นจำนวนที่เท่เพราะมันเป็นเลขฐานสอง (และ palindrome แต่นั่นไม่สำคัญ) ตอนนี้ฉันอยากรู้ว่าครั้งต่อไปฉันจะอ่านเลขฐานสองเมื่อใด ฉันไม่สามารถอ่านมาตรวัดระยะทางในขณะที่ฉันขับรถเพราะนั่นจะเป็นอันตรายดังนั้นมันจะต้องเป็นเลขฐานสองทั้งเมื่อฉันไปทำงานหรือกลับบ้าน มีการจราจรติดขัดระหว่างทางไปและกลับจากออฟฟิศของฉันดังนั้นฉันต้องใช้เส้นทางที่แตกต่างกันในแต่ละวัน สำหรับวัตถุประสงค์ของการท้าทายนี้วันหนึ่งเป็นการเดินทางไปกลับและเริ่มต้นด้วยการเดินทางของฉันเพื่อทำงาน คุณจะต้องอ่านค่าเริ่มต้นของมาตรวัดระยะทางและลำดับองค์ประกอบ 10 รายการที่แสดงถึงจำนวนไมล์ในแต่ละวิธี ลำดับนี้ควรทำซ้ำจนกว่าคุณจะได้รับการอ่านมาตรวัดระยะทางไบนารี จากนั้นคุณควรส่งออกจำนวนวันที่ต้องใช้จนกว่าเราจะได้รับการอ่านแบบไบนารี ทั้งระยะทางสำหรับเส้นทางและการอ่านมาตรวัดระยะทางจะเป็นจำนวนเต็มบวก จำนวนวันจะเป็นxหรือx.5ดังนั้นผลลัพธ์ของการนับวันของคุณจำเป็นต้องสนับสนุนจุดลอยสำหรับครึ่งวัน .0ถ้านับวันเป็นจำนวนเต็มคุณไม่จำเป็นต้องส่งออก เครื่องวัดระยะทางจะเข้าสู่สถานะไบนารีในที่สุด รูปแบบใด ๆ ของอินพุต / เอาต์พุตเป็นที่ยอมรับและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ: 101101, [27, 27, 27, 27, 27, 27, 27, 27, 27, 27] == 165.0 1, [13, 25, 3, 4, 10, 8, 92, 3, 3, 100] …

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

2
ลำดับเปลือก Koopa
ในเกมซูเปอร์มาริโอที่หลากหลายเปลือกหอยสีเขียวและสีแดงของ Koopa Troopaสามารถเลื่อนลงบนพื้นผิวเรียบได้อย่างไม่น่าเชื่อและทำลายบล็อกอิฐที่ขวางทาง เมื่อกระสุนกระทบกับบล็อกอิฐบล็อกจะแตกตัวกลายเป็นพื้นที่ว่างเปล่าและกระสุน Koopa กลับทิศทาง เป็นตัวอย่างที่ดูเปลือกสีแดงที่นี่ สมมติว่าระดับซูเปอร์มาริโอนั้นสูงเพียงหนึ่งบล็อกและเซลล์กริดทุกเซลล์เป็นอิฐหรือพื้นที่ว่างยกเว้นเซลล์ที่อยู่ด้านซ้ายสุดที่มีกระสุนเคลื่อนที่ไปทางขวา ระดับยังเป็นระยะดังนั้นหากเชลล์ออกจากขอบขวาหรือซ้ายของระดับมันจะกลับเข้าสู่ฝั่งตรงข้าม ในสถานการณ์เช่นนี้เปลือกจะยังคงกระเด็นและทำลายบล็อกอิฐทั้งหมดในระดับจนกว่าจะไม่มีอีกต่อไป เปลือกจะเดินทางไกลแค่ไหนหลังจากที่บล็อกอิฐก้อนสุดท้ายแตก? ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มทศนิยมที่ไม่เป็นลบ หมายเลขนี้ซึ่งแสดงในรูปแบบไบนารีโดยไม่มีศูนย์นำหน้า (ข้อยกเว้นเพียงอย่างเดียวคือ 0 เอง) เข้ารหัสเค้าโครงเลย์เอาต์ระดับสูงหนึ่งบล็อก A 1คือบล็อกอิฐและ a 0คือพื้นที่ว่าง Koopa Shell ถูกแทรกที่ขอบด้านซ้ายของระดับและเริ่มขยับไปทางขวา ตัวอย่างเช่นระดับที่เกี่ยวข้องกับการป้อนข้อมูล39คือ >100111 เพราะ100111เป็น 39 ในไบนารี่และ>และ<เป็นตัวแทนของเชลล์ที่เคลื่อนที่ทั้งซ้ายและขวาตามลำดับ คุณต้องพิมพ์หรือคืนค่าระยะทางทั้งหมดที่กระสุนเดินทางเมื่อเปลือกอิฐก้อนสุดท้าย (อาคา1) แตกหัก ผลลัพธ์สำหรับ39คือ7และการเปลี่ยนแปลงในระดับมีลักษณะดังนี้: Level Cumulative Distance >100111 0 <000111 0 >000110 0 0>00110 1 00>0110 2 000>110 3 000<010 …

13
เลเยอร์ Sierpinski
เริ่มต้นด้วย/\คุณสามารถสร้างสามเหลี่ยมเช่นเดียวกับรูปแบบSierpinskiโดยการเพิ่มบรรทัดด้านล่างที่ ... กิ่งก้านที่หลวม/หรือ\แยกอีกเป็นสองกิ่ง: /\. การชนกันของกิ่งไม้\/จะตายโดยไม่มีสิ่งใด (ยกเว้นที่ว่าง) ภายใต้กิ่งไม้ ทำซ้ำกฎเหล่านี้ให้ผล /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... ( แรงบันดาลใจจาก ViHart ) เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N และพิมพ์บรรทัด N แรกของรูปแบบนี้ไปยัง stdout โดยไม่มีช่องว่างนำหน้าหรือต่อท้ายเกินกว่าที่จำเป็น ตัวอย่างเช่นถ้าอินพุตเป็น1เอาต์พุตต้องเป็น /\ หากอินพุตเป็น2เอาต์พุตจะต้องเป็น /\ /\/\ หากอินพุตเป็น8เอาต์พุตจะต้องเป็น /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ และอื่น …

30
สตริงเป็นไบนารี
นี่คือความท้าทายของรหัสกอล์ฟ เช่นเดียวกับชื่อเรื่องเขียนโปรแกรมเพื่อแปลงสตริงอักขระ ASCII ให้เป็นไบนารี ตัวอย่างเช่น: "Hello World!"1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 100001ควรเปลี่ยนเป็น หมายเหตุ: ฉันสนใจเป็นพิเศษในการนำ pyth มาใช้

19
คำนวณน้ำหนักแฮมมีน้ำหนักแฮมต่ำ
สร้างโปรแกรมที่คำนวณน้ำหนักการขัดขวางของสตริง ผู้ชนะคือโปรแกรมที่มีน้ำหนักแฮมมิ่งต่ำสุด กฎ: การรับน้ำหนักของตัวอักษร ASCII ถูกกำหนดเป็นจำนวนบิตทั้งหมดที่ตั้งค่าไว้1ในการเป็นตัวแทนไบนารี สมมติว่าการเข้ารหัสอินพุตเป็น 7 บิต ASCII ผ่านสิ่งที่กลไกการป้อนข้อมูลเป็นเรื่องปกติสำหรับภาษาของคุณ (เช่น stdin, args ฯลฯ ) เอาท์พุทผลลัพธ์เป็นตัวเลขเพื่อ stdout หรือกลไกเอาต์พุตปกติ / ปกติที่ภาษาของคุณใช้ มันควรจะไปโดยไม่บอก แต่คุณต้องสามารถเรียกใช้โปรแกรมในชีวิตจริงเพื่อให้เป็นทางออกที่ถูกต้อง ผู้ชนะคือคำตอบที่มีรหัสน้ำหนักต่ำสุด ขออภัยไม่มีวิธีแก้ไขในช่องว่างสำหรับอันนี้! ตกลงคุณสามารถเขียนโค้ดในช่องว่างขณะนี้ฉันได้แยกกฎออกแล้ว :) ตัวอย่างต่อตัวละคร: char | binary | weight -----+----------+------- a | 01100001 | 3 x | 01111000 | 4 ? | 00111111 | 6 \x00 …

30
ค้นหาจำนวนศูนย์นำในจำนวนเต็ม 64 บิต
ปัญหา: ค้นหาจำนวนของศูนย์นำหน้าในจำนวนเต็มแบบ 64 บิต กฎ: อินพุตไม่สามารถถือเป็นสตริงได้ มันสามารถเป็นอะไรก็ได้ที่การดำเนินการทางคณิตศาสตร์และ bitwise เป็นตัวผลักดันอัลกอริธึม เอาต์พุตควรตรวจสอบความถูกต้องกับการแสดงตัวเลขจำนวนเต็มแบบ 64 บิตของหมายเลขโดยไม่คำนึงถึงภาษา ใช้กฎของรหัสกอล์ฟเริ่มต้น รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ: การทดสอบเหล่านี้ถือว่าเป็นจำนวนเต็มแบบเต็มของสองส่วน หากภาษา / การแก้ปัญหาของคุณขาดหรือใช้การแทนจำนวนเต็มที่ลงนามแตกต่างกันโปรดโทรออกและแจ้งกรณีทดสอบเพิ่มเติมที่อาจเกี่ยวข้อง ฉันได้รวมกรณีทดสอบบางข้อที่กล่าวถึงความแม่นยำสองเท่า แต่โปรดอย่าลังเลที่จะแนะนำรายการอื่น ๆ ที่ควรแสดง input output 64-bit binary representation of input (2's complement) -1 0 1111111111111111111111111111111111111111111111111111111111111111 -9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000 9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111 4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111 1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111 9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000 …

7
โรงแรมไบนารีของ Hilbert
ในการท้าทายนี้คุณจะถูกขอให้ใช้งานฟังก์ชั่นใด ๆ (หรือโปรแกรมเต็มรูปแบบ) ที่ตอบสนองสองคุณสมบัติ คุณสมบัติเหล่านั้นคือ: ฟังก์ชั่นของคุณจะต้องเป็นฟังก์ชั่นการฉีด (ย้อนกลับ) จากชื่อพหุนามที่มีค่าสัมประสิทธิ์จำนวนเต็มไม่เป็นลบถึงจำนวนเต็มไม่เป็นลบ ซึ่งหมายความว่าไม่มีอินพุตที่ไม่เท่ากันสองตัวที่สามารถแมปกับเอาต์พุตที่เท่ากัน ฟังก์ชั่นของคุณจะต้องรักษาจำนวน "บนบิต" ทั้งหมดจากอินพุตไปยังเอาต์พุต นี่หมายความว่าถ้าคุณนับ 1 บิตของสัมประสิทธิ์ของพหุนามแต่ละผลรวมของพวกเขาควรจะเท่ากับจำนวน 1 บิตในการแทนเลขฐานสองของเอาต์พุต ตัวอย่างเช่น9อยู่1001ในไบนารีดังนั้นจึงมี 2 1บิต IO พหุนามจำนวนเต็มที่ไม่เป็นลบจะเหมือนกับรายการอนันต์ของจำนวนเต็มที่ไม่เป็นลบเช่นนั้นหลังจากจุดใดจุดหนึ่งจำนวนเต็มทั้งหมดจะเป็นศูนย์ ดังนั้นชื่อพหุนามอาจถูกแทนด้วยรายการอนันต์ (แม้ว่าอาจไม่เป็นที่พึงปรารถนา) หรือโดยรายการ จำกัด ด้วยค่าศูนย์โดยนัยหลังจากสิ้นสุดรายการ ความแตกต่างที่สำคัญระหว่างชื่อพหุนามกับรายการ จำกัด คือการเพิ่มศูนย์ไปยังจุดสิ้นสุดของรายการจะเปลี่ยนรายการ: ในขณะที่การเพิ่มศูนย์ถึงจุดสิ้นสุดของพหุนามจะไม่เปลี่ยนค่าของมัน: ดังนั้นหากฟังก์ชั่นของคุณรับรายการ จำกัด ซึ่งแทนพหุนามเป็นอินพุตการเพิ่มศูนย์จะต้องไม่เปลี่ยนผลลัพธ์ เมื่อแสดงชื่อพหุนามเป็นรายการคุณอาจเป็นตัวแทนพวกนั้นด้วยรายการแรกหรือรายการสุดท้ายที่แทนคำคงที่ ตัวอย่างเช่นคุณอาจมีความเป็นไปได้อย่างใดอย่างหนึ่งต่อไปนี้: ในกรณีแรกการเพิ่มค่าศูนย์ที่ส่วนท้ายของรายการไม่ควรเปลี่ยนผลลัพธ์ ในกรณีที่สองให้เพิ่มศูนย์ลงในด้านหน้าของรายการไม่ควรเปลี่ยนผลลัพธ์ แน่นอนว่าถ้าภาษาของคุณรองรับพหุนามคุณอาจใช้เป็นอินพุต เอาต์พุตควรเป็นเอาต์พุตจำนวนเต็มที่ไม่เป็นลบผ่านวิธีมาตรฐานใด ๆ นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า

8
เอาต์พุตต้นทางทีละบิต
เขียนโปรแกรมหรือฟังก์ชั่นที่ไม่ว่างเปล่าที่เมื่อเรียกว่าเอาท์พุทค่าเดียว, 1 หรือ 0, และเมื่อเรียกหลาย ๆ ครั้ง, หมายเลขเอาท์พุตจะสร้างการแสดงเลขฐานสองของซอร์สโค้ดของโปรแกรมของคุณ (ในหน้ารหัสเดียวกัน / ตีความ) ตัวอย่างเช่นหากซอร์สโค้ดของคุณคือabc(ใน ASCII) ผลลัพธ์จะเป็น: 1st call: 0 // ASCII letter 'a' 2nd call: 1 3rd call: 1 4th call: 0 5th call: 0 6th call: 0 7th call: 0 8th call: 1 9th call: 0 // ASCII letter 'b' 10th …

7
เส้นทาง hypercube ที่ยาวที่สุด
ท้าทาย คุณจะได้รับสองบิตบิตที่แตกต่างกันของความยาวเดียวกัน (ตัวอย่างเช่น000และ111.) เป้าหมายของคุณคือค้นหาเส้นทางจากที่หนึ่งไปอีกที่หนึ่งที่: ในแต่ละขั้นตอนที่คุณเปลี่ยนเพียงหนึ่งบิต (คุณสามารถไปจาก000การใด ๆ001, 010, 100) คุณไม่สามารถเยี่ยมชมสตริงบิตเดียวกันสองครั้ง เส้นทางยาวที่สุดเท่าที่จะเป็นไปได้ภายใต้ข้อ จำกัด เหล่านี้ ยกตัวอย่างเช่นที่เกิดจาก000การ111ที่เราสามารถใช้เส้นทาง 000, 001, 011, 010, 110, 100, 101, 111 ซึ่งเข้าชมทั้งหมด 8 บิตความยาว 3 ดังนั้นมันจะต้องเป็นไปได้ที่ยาวที่สุด กฎระเบียบ ช่องโหว่มาตรฐานใช้ คุณสามารถรับอินพุตเป็นสองสตริงของศูนย์และหนึ่งหรือเป็นสองอาร์เรย์ของศูนย์และคนหรือเป็นสองอาร์เรย์ของค่าบูลีน คุณไม่สามารถรับอินพุตเป็นจำนวนเต็มสองจำนวนที่มีการแทนค่าไบนารี่ขวา (การเขียน000และ111เป็น0และ7ไม่ถูกต้อง) หากคุณต้องการคุณอาจใช้ความยาวของสตริงบิตเป็นอินพุต โปรแกรมของคุณได้รับอนุญาตให้ส่งออกเส้นทางโดยการพิมพ์บิตสตริงที่เข้าเยี่ยมชมทีละครั้งหรือโดยการส่งกลับอาร์เรย์ของบิตสตริงที่เข้าชม (แต่ละรูปแบบเดียวกับอินพุต) ผลลัพธ์ของคุณควรมีจุดเริ่มต้นและจุดสิ้นสุดของเส้นทาง (ซึ่งเป็นอินพุตของคุณ) นี่คือโค้ดกอล์ฟซึ่งเป็นรหัสที่สั้นที่สุดในหน่วยไบต์ ตัวอย่าง 0 1 -> 0, 1 10 01 -> 10, 00, 01 …


16
มันยืดหน่อย Stretch
การป้อนข้อมูล: เรารับสองอินพุต: การป้อนข้อมูลbที่มีสองค่าที่แตกต่างกันและLeft †Right nและเป็นจำนวนเต็มบวก เอาท์พุท: ขึ้นอยู่กับอินพุตซ้าย / ขวาเราแสดงเอาต์พุตสองซีเควนต่อไปนี้ในช่วงของ1-n(ในลำดับด้านล่างที่แสดง 125 รายการแรก): Left: 1, 6, 7, 56, 57, 62, 63, 960, 961, 966, 967, 1016, 1017, 1022, 1023, 31744, 31745, 31750, 31751, 31800, 31801, 31806, 31807, 32704, 32705, 32710, 32711, 32760, 32761, 32766, 32767, 2064384, 2064385, 2064390, 2064391, 2064440, 2064441, 2064446, …

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