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

สำหรับความท้าทายที่เกี่ยวข้องกับการทำบางสิ่งบางอย่างในระดับบิต

17
Xorting Array
ตามแนวคิดแล้วความท้าทายนี้ง่ายมาก ๆ คุณได้รับรายชื่อของจำนวนเต็มไม่ใช่เชิงลบ หากเป็นไปได้ให้ค้นหาจำนวนเต็มที่ไม่เป็นลบเช่นรายการที่ประกอบด้วยจะถูกเรียงลำดับ หากไม่มีสิ่งนั้นเอาท์พุทควรเป็นสิ่งที่ไม่สามารถเข้าใจผิดว่าถูกต้องเช่นจำนวนลบไม่มีอะไรเลยข้อผิดพลาด ฯลฯaiNbi = ai XOR NNN นี่คือตัวอย่าง: [4, 7, 6, 1, 0, 3] ถ้าเราใช้ทุกองค์ประกอบในรายการนี้XOR 5เราจะได้รับ [1, 2, 3, 4, 5, 6] ซึ่งจัดเรียง (โปรดทราบว่ามันไม่ใช่ข้อกำหนดสำหรับรายการผลลัพธ์ที่จะมีองค์ประกอบที่เป็นเอกลักษณ์และไม่มีช่องว่างหากผลลัพธ์ของการดำเนินการดังกล่าว[0, 1, 1, 3]ยังคงใช้ได้) ในทางกลับกันสำหรับรายการ [4, 7, 1, 6, 0, 3] ไม่มีNอยู่จริง คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ อินพุตอาจอยู่ในรายการที่สะดวกหรือรูปแบบสตริง คุณอาจสันนิษฐานว่ารายการนั้นน้อยกว่าแต่ละรายการและรายการนั้นมีองค์ประกอบอย่างน้อยหนึ่งรายการai231 รหัสของคุณจะต้องจัดการกับกรณีทดสอบใด ๆ …

30
สร้าง“ H” จาก“ H” ที่เล็กลง
ท้าทาย สร้างฟังก์ชั่นหรือโปรแกรมที่เมื่อได้รับจำนวนเต็มsizeทำต่อไปนี้: ถ้าsizeเท่ากับ 1 เอาต์พุต H H HHH H H ถ้าsizeมากกว่า 1 เอาต์พุต X X XXX X X โดยที่Xเอาต์พุตของโปรแกรม / ฟังก์ชั่นสำหรับsize - 1 (หากคุณต้องการคุณอาจมีกรณีฐานสอดคล้องกับ0ตราบใดที่คุณระบุในคำตอบของคุณ) รูปแบบผลลัพธ์ใด ๆ ต่อไปนี้เป็นที่ยอมรับแล้วแต่จำนวนใดจะสะดวกกว่าสำหรับคุณ: สตริงของโครงสร้างที่ต้องการพร้อมอักขระสองตัวที่แตกต่างกันซึ่งสอดคล้องกับHและspace อาร์เรย์สองมิติพร้อมโครงสร้างที่ต้องการโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อาร์เรย์ / รายการสตริงที่มีหนึ่งบรรทัดของเอาต์พุตในแต่ละสตริงโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อนุญาตให้มีช่องว่างนำหน้าตราบใดที่มีช่องว่างนำหน้าจำนวนหนึ่งคงที่ในแต่ละบรรทัด อักขระเอาต์พุตที่แตกต่างกันสองตัวสามารถขึ้นอยู่กับสิ่งที่คุณเลือกตราบใดที่อักขระเหล่านั้นแตกต่างกัน ระบุรูปแบบผลลัพธ์ที่โค้ดของคุณส่งคืน กรณีทดสอบ 1 H H HHH H H 2 H H H H HHH HHH H …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

29
Bitflip และลบล้าง
กำหนดจำนวนเต็มทำนิพจน์ที่สร้างจากการ0ใช้การปฏิเสธแบบไม่รวม-และส่วนประกอบ bitwise ~( ~n= -n-1) โดยใช้ตัวดำเนินการจากขวาไปซ้าย ... -3 = ~-~-~0 -2 = ~-~0 -1 = ~0 0 = 0 1 = -~0 2 = -~-~0 3 = -~-~-~0 ... การแสดงออกของคุณจะต้องสั้นที่สุดเท่าที่เป็นไปได้ซึ่งหมายความว่าไม่มีชิ้นส่วนที่ซ้ำซ้อน~~, --, หรือ-0 00เอาต์พุตหรือพิมพ์นิพจน์เป็นสตริงหรือลำดับของอักขระ แสดงตัวอย่างโค้ด var QUESTION_ID=92598,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/92598/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var …

30
StringgnirtSStringgnirtSStringgnirtS
นี่คือความท้าทายที่ค่อนข้างง่ายสำหรับคุณ กำหนดสตริงที่มีความยาวNส่งออกสตริงไปข้างหน้าจากนั้นย้อนกลับแล้วไปข้างหน้าจากนั้นย้อนกลับ ... เป็นต้นNครั้ง ตัวอย่างเช่นถ้าข้อมูลของคุณเป็น Hello! คุณควรส่งออก: Hello!!olleHHello!!olleHHello!!olleH คุณยังสามารถเลือกที่จะออกบรรทัดใหม่หนึ่งบรรทัด การส่งของคุณอาจเป็นได้ทั้งโปรแกรมเต็มหรือฟังก์ชั่นและคุณอาจต้องใช้เวลาเข้าและส่งออกในรูปแบบที่เหมาะสม ตัวอย่างเช่นคุณอาจใช้ IO จาก STDIN / STDOUT อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนจากไฟล์ ฯลฯ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตจะไม่ว่างเปล่าและจะมี ASCII ที่พิมพ์ได้เท่านั้น คุณต้องส่งออกสตริงใหม่ในบรรทัดเดียว ตัวอย่างเช่นถ้าผลลัพธ์ไปยังตัวอย่างสุดท้ายคือ Hello! !olleH Hello! !olleH Hello! !olleH นี่จะไม่ใช่ทางออกที่ถูกต้อง! ต่อไปนี้เป็นกรณีทดสอบเพิ่มเติม: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

30
โกงการทดสอบแบบปรนัย
บทนำ ในขณะที่เรียนฉันพยายามคิดหลายวิธีเพื่อโกงการทดสอบแบบเลือกตอบ มันเป็นรุ่นบีบอัดของคำตอบแบบปรนัย วิธีการดังต่อไปนี้: คำตอบสำหรับการทดสอบ: BCAABABA สิ่งเหล่านี้สามารถแปลงเป็น 3 อาร์เรย์ที่แตกต่างกันซึ่งบ่งชี้ว่าจริงหรือเท็จถ้าตัวอักษรปัจจุบันคือคำตอบ: B C A A B A B A A: [0, 0, 1, 1, 0, 1, 0, 1] B: [1, 0, 0, 0, 1, 0, 1, 0] C: [0, 1, 0, 0, 0, 0, 0, 0] การตีความตัวเลขเหล่านี้ในรูปแบบไบนารีจะบีบอัดข้อมูลจำนวนมาก แต่สิ่งนี้สามารถบีบอัดได้อีกเล็กน้อย หากคุณรู้ตำแหน่งของ A และ B …

30
การเขียนโปรแกรมด้วย Bits และ Bytes
ในการท้าทายนี้คุณจะต้องเขียนล่ามเป็นภาษาง่ายๆที่ฉันได้ทำขึ้น ภาษานี้ใช้ตัวสะสม A ตัวเดียวซึ่งมีความยาวหนึ่งไบต์ ที่จุดเริ่มต้นของโปรแกรม A = 0 นี่คือคำแนะนำภาษา: !: ผกผัน คำสั่งนี้จะแปลงค่าตัวสะสมเล็กน้อย ทุกศูนย์กลายเป็นหนึ่งและทุก ๆ กลายเป็นศูนย์ ! ง่าย >: เลื่อนไปทางขวา คำสั่งนี้เลื่อนทุกบิตในที่เดียวไปทางขวา บิตซ้ายสุดจะกลายเป็นศูนย์และบิตขวาสุดจะถูกทิ้ง <: เลื่อนไปทางซ้าย คำสั่งนี้เลื่อนทุกบิตในที่เดียวทางซ้าย บิตขวาสุดจะกลายเป็นศูนย์และบิตซ้ายสุดจะถูกทิ้ง @: สลับ Nybbles คำสั่งนี้ทำการแลกเปลี่ยนสี่บิตบนสุดของ A ด้วยสี่บิตด้านล่าง ตัวอย่างเช่นถ้า A 01101010และคุณดำเนินการ@A จะเป็น10100110: ____________________ | | 0110 1010 1010 0110 |_______| นั่นคือคำแนะนำทั้งหมด! ง่ายใช่มั้ย กฎระเบียบ โปรแกรมของคุณต้องยอมรับอินพุตหนึ่งครั้งในตอนเริ่มต้น นี่จะเป็นบรรทัดของรหัส นี่ไม่ใช่ล่ามแบบโต้ตอบ! คุณสามารถยอมรับอินพุตได้เพียงครั้งเดียวและไม่ต้องวนกลับไปที่จุดเริ่มต้นอีกครั้งเมื่อบรรทัดนั้นถูกดำเนินการ …

27
หมายเลขพับได้
รับตัวเลขกำหนดว่าเป็นจำนวนการพับ จำนวนการพับเป็นจำนวนเช่นนั้นถ้าคุณเอามันมาเป็นตัวแทนไบนารีและ "พับ" มันครึ่งหนึ่งนั่นคือผลลัพธ์ของการคูณ XNOR ของครึ่งแรกของตัวเลขและครึ่งหลังที่มีตัวเลขกลับกันคุณจะได้รับ ศูนย์. หากตัวเลขมีเลขคี่เป็นเลขฐานสองในเลขฐานสองหลักจะต้องเป็น 1 และจะถูกละเว้นเมื่อทำการพับ เนื่องจากอาจทำให้ฉันสับสนฉันจะยกตัวอย่าง: 178 การแทนเลขฐานสองของ 178 คือ 10110010 เมื่อต้องการพับนี่เราแบ่งครึ่งก่อน 1011 0010 เราสลับครึ่งหลัง 1011 0100 และเรา XNOR ทั้งสองแบ่งเท่า ๆ กัน: 0000 นี่เป็นศูนย์ดังนั้นนี่คือจำนวนการพับ 1644 การเป็นตัวแทนไบนารีของ 1644 คือ 11001101100 เมื่อต้องการพับนี่เราแบ่งครึ่งก่อน 11001 1 01100 ตรงกลางคือ 1 ดังนั้นเราจึงโยนมันออกไป 11001 01100 เราสลับครึ่งหลัง 11001 00110 และเรา XNOR ทั้งสองแบ่งเท่า ๆ …

30
เรียงลำดับตัวเลขตามการนับของไบนารี 1
เป้าหมาย เขียนฟังก์ชั่นหรือโปรแกรมเรียงลำดับอาร์เรย์ของจำนวนเต็มตามลำดับจากมากไปน้อยด้วยจำนวนของ 1 ในการเป็นตัวแทนไบนารีของพวกเขา ไม่จำเป็นต้องมีเงื่อนไขการเรียงลำดับรอง ตัวอย่างรายการที่เรียงลำดับ (ใช้จำนวนเต็ม 16 บิต) Dec Bin 1's 16375 0011111111110111 13 15342 0011101111101110 11 32425 0111111010101001 10 11746 0010110111100010 8 28436 0000110111110100 8 19944 0100110111101000 8 28943 0000011100011111 8 3944 0000011111101000 7 15752 0011110110001000 7 825 0000000011111001 6 21826 0101010101000010 6 อินพุต อาเรย์ของจำนวนเต็ม 32 บิต เอาท์พุต …

22
การคูณแฮคเกอร์
เป้าหมายของคุณคือการใช้การดำเนินการคูณXOR ( ไร้ค่า ) ตามที่กำหนดไว้ด้านล่างในไม่กี่ไบต์เท่าที่จะทำได้ ถ้าเราคิดว่า bitwise XOR ( ^) เป็นการเพิ่มแบบไบนารีโดยไม่ต้องถือ 101 5 ^ 1001 9 ---- 1100 12 5^9=12 เราสามารถดำเนินการ XOR คูณ@ด้วยการทำไบนารียาวคูณ^แต่ทำขั้นตอนการเพิ่มโดยไม่ดำเนินการเป็นค่าที่เหมาะสมแฮคเกอร์ 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (สำหรับนักคณิตศาสตร์นี่คือการคูณในพหุนามพหุนามF_2[x]ระบุพหุนามกับจำนวนธรรมชาติโดยการประเมินที่x=2พหุนามมากกว่า Z) แฮคเกอร์เดินทางคูณa@b=b@aร่วมและจัดจำหน่ายมากกว่าค่าที่เหมาะสมแฮคเกอร์(a@b)@c=a@(b@c) a@(b^c)=(a@b)^(a@c)ในความเป็นจริงมันเป็นงานที่ไม่ซ้ำกันเช่นที่ตรงกับการคูณa@b=a*bเมื่อใดก็ตามaและbมีพลังแห่งเช่น21,2,4,8... ความต้องการ ใช้จำนวนเต็มสองจำนวนที่ไม่เป็นลบเป็นอินพุตและเอาต์พุตหรือพิมพ์ XOR-product นี่ควรเป็นตัวเลขหรือการแสดงสตริงทศนิยมไม่ใช่การขยายแบบไบนารี ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ไม่ต้องกังวลกับจำนวนเต็มล้น a b …

30
คำนวณชุดที่ยาวที่สุดของ 1 ในค่าเลขฐานสองของจำนวนเต็ม
เป้าหมาย กำหนดจำนวนเต็มแบบไม่ลบสร้างฟังก์ชันที่ส่งคืนตำแหน่งเริ่มต้นของจำนวน 1 ที่ใหญ่ที่สุดติดต่อกันในค่าเลขฐานสองของจำนวนเต็มนั้น เมื่อได้รับการป้อนข้อมูลกลับมา00 หากตัวเลขมีหลายเส้นที่มีความยาวเท่ากันคุณจะต้องกลับตำแหน่งของริ้วสุดท้าย อินพุต จำนวนเต็มมากกว่าหรือเท่ากับ 0 เอาท์พุต จำนวนเต็มคำนวณตามที่อธิบายด้านล่าง กฎระเบียบ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่างและกรณีทดสอบ ตัวอย่างที่ 1 ฟังก์ชันของคุณส่งผ่านจำนวนเต็ม 142 142 เท่ากับ 1,0001110 ในไบนารี แนวที่ยาวที่สุดคือ "111" (แนวของสามเส้น) แนวเริ่มต้นที่ตำแหน่ง 2 ^ 1 ฟังก์ชันของคุณจะคืนค่า 1 ตามผลลัพธ์ ตัวอย่างที่ 2 ฟังก์ชันของคุณผ่านจำนวนเต็ม 48 48 เท่ากับ 110000 ในหน่วยไบนารี่ แนวที่ยาวที่สุดคือ "11" (แนวของสองเส้น) แนวเริ่มต้นที่ตำแหน่ง 2 ^ 4 ฟังก์ชันของคุณจะคืนค่า 4 …

30
บิตเฉลี่ย: ความท้าทายโดยเฉลี่ย
รับจำนวนเต็ม N> = 1 ส่งออกจำนวนเฉลี่ยของบิตในจำนวนเต็มตั้งแต่ 0 ถึง N - 1 สเปค เอาต์พุตสามารถคำนวณเป็นผลรวมของจำนวนบิตในการแทนเลขฐานสองของแต่ละจำนวนเต็มตั้งแต่ 0 ถึง N-1 หารด้วย N การแทนค่าไบนารีของจำนวนเต็มไม่มีศูนย์นำหน้าในบริบทนี้ยกเว้นศูนย์ซึ่งแสดงเป็น 0 ในไบนารี ผลลัพธ์ควรมีความแม่นยำถึงตัวเลขที่มีนัยสำคัญอย่างน้อย 7 ตัว ตัวอย่าง N = 6 0: 0 : 1 bit 1: 1 : 1 bit 2: 10 : 2 bits 3: 11 : 2 bits 4: 100 : …

27
การเปลี่ยนสับเปลี่ยนบิตกลับ
เป้าหมายของคุณคือการสร้างฟังก์ชั่นหรือโปรแกรมที่จะย้อนกลับบิตในช่วงของจำนวนเต็มให้จำนวนเต็มn กล่าวอีกนัยหนึ่งคุณต้องการค้นหาการเปลี่ยนรูปบิตกลับรายการช่วง 2 nรายการซึ่งไม่มีดัชนี และนี่ก็เป็นลำดับ OEIS A030109 กระบวนการนี้มักใช้ในการคำนวณ Fast Fourier Transforms เช่นอัลกอริทึม Cooley-Tukey ในสถานที่สำหรับ FFT นอกจากนี้ยังมีความท้าทายสำหรับการคำนวณ FFT สำหรับลำดับที่ความยาวคือพลังของ 2 กระบวนการนี้กำหนดให้คุณทำซ้ำในช่วง [0, 2 n -1] และแปลงแต่ละค่าเป็นไบนารีและแปลงบิตในค่านั้น คุณจะได้รับการรักษาแต่ละค่าเป็นnจำนวน -digit ในฐาน 2 ซึ่งหมายถึงการกลับรายการจะเกิดขึ้นในหมู่สุดท้ายnบิต ตัวอย่างเช่นถ้าn = 3 [0, 1, 2, 3, 4, 5, 6, 7]ช่วงของจำนวนเต็มคือ เหล่านี้คือ i Regular Bit-Reversed j 0 000 000 0 …

20
ความเข้ากันได้ของแวมไพร์
ข้อเท็จจริงที่ทราบกันเล็กน้อยเกี่ยวกับแวมไพร์คือพวกเขาต้องดื่มเลือดของเหยื่อที่มีกรุ๊ปเลือดของผู้บริจาค เมทริกซ์เข้ากันได้สำหรับแวมไพร์เป็นเช่นเดียวกับปกติสีแดงเม็ดเลือดบริจาค / ผู้รับเมทริกซ์ สามารถสรุปได้ดังต่อไปนี้ตาราง American Red Cross Type You Can Give Blood To You Can Receive Blood From A+ A+, AB+ A+, A-, O+, O- O+ O+, A+, B+,AB+ O+, O- B+ B+, AB+ B+, B-, O+, O- AB+ AB+ everyone A- A+, A-, AB+, AB- A-, O- O- …

26
ความแข็งแบบดิจิตอลของจำนวนเต็ม
เพื่อหาสิ่งที่มีความแข็งดิจิตอลของจำนวนเต็มใช้แทน binary ของตนและนับจำนวนครั้งทั้งชั้นนำและต่อท้ายสามารถลบออกได้จนกว่าจะมีทั้งการเริ่มต้นหรือลงท้ายด้วย1 0จำนวนบิตทั้งหมดที่ถูกลบคือความแข็งแบบดิจิตอล นั่นเป็นคำอธิบายที่ค่อนข้างใช้คำพูด - งั้นมาลองดูตัวอย่างที่ทำงานกันดีกว่า สำหรับตัวอย่างนี้เราจะใช้หมายเลข 3167 ในระบบเลขฐานสองนี่คือ: 110001011111 (โปรดทราบว่าในระหว่างการแปลงเป็นไบนารีคุณควรตรวจสอบให้แน่ใจว่าได้ตัดส่วนนำศูนย์) มันไม่ได้เริ่มต้นหรือลงท้ายด้วย0ดังนั้นเราจึงลบบิต 1 คู่: 1 1000101111 1 เเละอีกอย่าง: 11 00010111 11 แต่ตอนนี้มี 0 ที่จุดเริ่มต้นดังนั้นเราจึงไม่สามารถลบ1คู่ได้อีก โดยรวมแล้ว 4 บิตที่เราลบออกและดังนั้น4คือความแข็งแบบดิจิตอลที่3167 อย่างไรก็ตามสำหรับตัวเลขที่สามารถเขียนเป็น2 n -1สำหรับบวกn (เช่นมีเฉพาะ1ในการเป็นตัวแทนไบนารี) 0 จะไม่ถึงและดังนั้นบิตทั้งหมดสามารถลบออกได้ ซึ่งหมายความว่าค่าความแข็งเป็นเพียงความยาวบิตของจำนวนเต็ม ความท้าทาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งกำหนดจำนวนเต็มไม่เป็นลบn >= 0กำหนดความแข็งแบบดิจิตอล คุณสามารถส่งโปรแกรมเต็มรูปแบบซึ่งดำเนินการ I / O หรือฟังก์ชั่นที่ส่งกลับผลลัพธ์ การส่งของคุณควรทำงานกับค่าที่nอยู่ในช่วงจำนวนเต็มมาตรฐานของภาษาของคุณ กรณีทดสอบ โปรดแจ้งให้ฉันทราบหากสิ่งเหล่านี้ไม่ถูกต้องหรือหากคุณต้องการแนะนำกรณีขอบที่จะเพิ่ม 0 -> 0 …

2
เครือข่ายประสาทสามารถรับรู้เฉพาะช่วงเวลาได้หรือไม่?
พื้นหลัง การตระหนักถึงความเป็นดั้งเดิมดูเหมือนว่าจะเหมาะสมสำหรับเครือข่ายประสาทเทียม อย่างไรก็ตามทฤษฎีบทการประมาณสากลระบุว่าเครือข่ายประสาทสามารถประมาณฟังก์ชันต่อเนื่องใด ๆ ดังนั้นโดยเฉพาะอย่างยิ่งมันควรจะเป็นไปได้ที่จะเป็นตัวแทนของฟังก์ชั่นการสนับสนุนที่มีขอบเขตอย่างใดอย่างหนึ่งปรารถนา งั้นลองพยายามจดจำช่วงเวลาทั้งหมดในจำนวนล้านแรก แม่นยำยิ่งขึ้นเพราะนี่คือเว็บไซต์การเขียนโปรแกรมเราไปถึง 2 ^ 20 = 1,048,576 จำนวนช่วงเวลาที่ต่ำกว่าเกณฑ์นี้คือ 82,025 หรือประมาณ 8% ท้าทาย คุณจะพบว่าเครือข่ายประสาทมีขนาดเล็กเพียงใดซึ่งจำแนกประเภทจำนวนเต็ม 20 บิตทั้งหมดให้เป็นไพร์มหรือไม่ไพร์มได้อย่างถูกต้อง? สำหรับวัตถุประสงค์ของการท้าทายนี้ขนาดของโครงข่ายประสาทเทียมคือจำนวนน้ำหนักและอคติทั้งหมดที่ต้องใช้ในการเป็นตัวแทน รายละเอียด เป้าหมายคือเพื่อลดขนาดของเครือข่ายประสาทเดี่ยวที่ชัดเจน อินพุตไปยังเครือข่ายของคุณจะเป็นเวกเตอร์ที่มีความยาว 20 ซึ่งประกอบด้วยบิตแต่ละส่วนของจำนวนเต็มซึ่งแสดงด้วย 0s และ 1s หรืออีกทางเลือกด้วย -1s และ + 1s การเรียงลำดับเหล่านี้อาจเป็นบิตที่มีนัยสำคัญมากที่สุดก่อนหรือมีนัยสำคัญน้อยที่สุดก่อน ผลลัพธ์ของเครือข่ายของคุณควรเป็นตัวเลขเดียวเช่นที่ด้านบนบางส่วนของการตัดออกที่ได้รับการยอมรับว่าดีที่สุดและต่ำกว่าการตัดสัญญาณเดียวกันที่ได้รับการยอมรับว่าไม่สำคัญ ตัวอย่างเช่นค่าบวกอาจหมายถึงค่านายก (และค่าลบไม่ถึงค่านายก) หรืออีกทางเลือกหนึ่งที่มากกว่า 0.5 อาจหมายถึงจำนวนเฉพาะ (และน้อยกว่า 0.5 ไม่ใช่จำนวนเฉพาะ) เครือข่ายจะต้องมีความถูกต้อง 100% สำหรับอินพุตที่เป็นไปได้ทั้งหมด 2 ^ 20 …

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