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

สำหรับความท้าทายเกี่ยวกับตรรกะทางคณิตศาสตร์และพีชคณิตบูลีน

30
สลับอาเรย์บูลีน
คนเรียบง่ายดี อินพุต รับอาเรย์บูลีน (หรือทางเลือกที่ยอมรับได้) คุณสามารถสันนิษฐานได้ว่าอาเรย์จะไม่ยาวเกิน 32 องค์ประกอบ [false, false, true, false, false] เอาท์พุต ย้อนกลับทุกองค์ประกอบของอาร์เรย์และส่งออกมัน [true, true, false, true, true] กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือเพียงแค่ฟังก์ชั่น ช่องโหว่มาตรฐานใช้ รหัสที่สั้นที่สุดเป็นไบต์ต่อภาษาชนะ! กรณีทดสอบ Input: [true, false] Output: [false, true] Input: //Example of acceptable alternative [0,1,1] Output: [1,0,0]

7
บันไดหลักซ้อนกัน
รับจำนวนเต็มบวกและhเอาต์พุตคอลัมน์และWWwชั่วโมงชั่วโมงhชมWWwชั่วโมงชั่วโมงhแถวของข้อความตามที่อธิบายไว้ด้านล่าง แถวแรกเริ่มต้นด้วย 11 0วินาทีแถวที่สองมี 10 วินาทีแถว1ที่สามมีเก้า2แถวและลงแถวที่สิบด้วยสอง9วินาที ในแต่ละสิบแถวแรกหลังจากการเริ่มต้นของตัวเลขที่ต่อเนื่องกันเลขหลักถัดไปจะปรากฏขึ้นสองครั้งก่อนที่ตัวเลขต่ำสุดถัดไปที่สองจะปรากฏขึ้นสองครั้งด้วยรูปแบบนี้ซ้ำตลอดไป หากมีการเรียกใช้0s จำนวนหลักหลังจากนั้นเสมอ9 s แถวด้านล่างแถวที่สิบจะเหมือนกับแถวที่อยู่ด้านบนทันที แต่เลื่อนไปทางขวาทีละหนึ่ง ตัวเลขใหม่ที่ปรากฏขึ้นนั้นเหมือนกับตัวเลขหลักซ้ายสุดก่อนหน้าหากไม่ใช่ตัวเลขถัดจากอินสแตนซ์อื่นของตัวเอง ไม่เช่นนั้นมันจะเป็นตัวเลขสูงสุดถัดไป (หมุนเวียนจาก 9 กลับเป็น 0) องค์ประกอบแรกมีดังนี้:11 ×1011×1011\times10 00000000000 11111111110 22222222211 33333333221 44444443322 55555544332 66666554433 77776655443 88877665544 99887766554 นี่คือภาพที่มีข้อความสีเพื่อทำให้รูปแบบชัดเจนยิ่งขึ้น หากคุณต้องการสร้างคอลัมน์ / แถวให้น้อยลงคุณควรครอบตัดข้อความด้านบน หากคุณต้องการสร้างคอลัมน์ / แถวมากกว่านี้บันไดที่มีอยู่ควรจะขยายออกไป หากมีคอลัมน์ / แถวเพิ่มจำนวนบันไดที่เพิ่มขึ้นของตัวเลขติดต่อกันควรเลือกตัวเลขด้วยจำนวนเต็ม ดังนั้นสำหรับอินพุตเอาต์พุตควรเป็น( 15 , 13 )(15,13)(15,13) 000000000009988 111111111100998 222222222110099 333333332211009 444444433221100 …

2
ให้ตารางความจริงเอาท์พุทโปรแกรม Stackylogic ที่ตรงกับมัน
Stackylogic เป็นภาษาโปรแกรมที่ผมทำขึ้นมาในความท้าทายที่ก่อนหน้านี้: Run Stackylogic อ่านโพสต์นั้นสำหรับรายละเอียดและตัวอย่างทั้งหมด แต่นี่คือวิธีการถอดความ: Stackylogic ใช้0's และ1' s สำหรับอินพุตและเอาต์พุตเดี่ยว0 หรือ1เมื่อเสร็จสมบูรณ์ โปรแกรมประกอบด้วยบรรทัดที่มีเฉพาะอักขระ01?เช่นเดียวกับหนึ่ง<บรรทัดที่ส่วนท้ายของหนึ่งบรรทัด สายอาจจะไม่ว่างเปล่าและบรรทัดที่มี<จะต้องมีอย่างน้อยหนึ่ง0, 1หรือ ?ก่อนที่มันจะ นี่คือตัวอย่างโปรแกรมที่คำนวณNANDของสองบิต: 1 ?< 11 ? 0 ทุกบรรทัดในโปรแกรมถือว่าเป็นสแต็กโดยมีด้านล่างทางด้านซ้ายและด้านบนทางด้านขวา โดยปริยายมีสแต็กเปล่า (เช่นบรรทัดว่าง) ก่อนบรรทัดแรกในโปรแกรมและหลังบรรทัดสุดท้าย กระบวนการ<เรียกว่าเคอร์เซอร์ทำเครื่องหมายสแต็กเพื่อเริ่มต้นเมื่อโปรแกรมทำงาน การดำเนินการดังต่อไปนี้: วางอักขระบนสุดออกจากสแต็กที่เคอร์เซอร์กำลังชี้ไป หากตัวละครนั้น?ให้แจ้งผู้ใช้สำหรับ0หรือหรือ1และทำราวกับว่าเป็นตัวละคร หากอักขระอยู่0ให้เลื่อนเคอร์เซอร์ขึ้นหนึ่งกอง (ไปยังบรรทัดที่อยู่เหนือบรรทัดปัจจุบัน) หากอักขระอยู่1ให้เลื่อนเคอร์เซอร์หนึ่งสแต็กลง (ไปยังบรรทัดด้านล่างบรรทัดปัจจุบัน) หากกองเคอร์เซอร์เลื่อนไปที่ว่างเปล่าเอาท์พุทค่าสุดท้ายที่โผล่ออกมาจากกอง (เสมอ0หรือหรือ1) และจบโปรแกรม มิฉะนั้นหากเคอร์เซอร์เลื่อนไปที่ไม่ว่างเปล่าให้กลับไปที่ขั้นตอนที่ 1 และทำซ้ำกระบวนการ สิ่งสำคัญที่ต้องตระหนักสำหรับความท้าทายนี้คือการที่ทุกโปรแกรม Stackylogic ถือเอาตารางความจริง จำนวนบูลีนที่กำหนดค่าไว้ล่วงหน้าบางรายการเป็นอินพุตและบูลีนหนึ่งรายการจะถูกกำหนดไว้อย่างแน่นอน ดังนั้นงานของคุณคือสร้างโปรแกรม Stackylogic ที่สร้างความพึงพอใจหรือจำลองสถานการณ์เช่นมีเอาต์พุตเหมือนกับตารางความจริงที่กำหนด แต่ไม่ชัดเจนว่า Stackylogic สามารถจำลองตารางความจริงใด …

2
Gerrymandering พร้อมประตูลอจิก
ฟังก์ชันส่วนใหญ่เป็นฟังก์ชั่นบูลีนซึ่งรับอินพุตบูลีนสามรายการและส่งคืนค่าที่พบบ่อยที่สุด เช่นถ้าmaj(x,y,z)เป็นฟังก์ชันส่วนใหญ่และTหมายถึงความจริงและFหมายถึงเท็จแล้ว: maj(T,T,T) = T maj(T,T,F) = T maj(T,F,F) = F maj(F,F,F) = F คำถามนี้เกี่ยวข้องกับการเขียนฟังก์ชันบูลีนเป็นองค์ประกอบของฟังก์ชันส่วนใหญ่ ตัวอย่างขององค์ประกอบ 5 Ary (x1,x2,x3,x4,x5) => maj(x1,x2,maj(x3,x4,x5))ของฟังก์ชั่นส่วนใหญ่เป็น ฟังก์ชันนี้ส่งคืนเอาต์พุตต่อไปนี้บนเวกเตอร์อินพุตตัวอย่างเหล่านี้: (T,T,F,F,F) => maj(T,T,maj(F,F,F)) = maj(T,T,F) = T (T,F,T,T,F) => maj(T,F,maj(T,T,F)) = maj(T,F,T) = T (T,F,T,F,F) => maj(T,F,maj(T,F,F)) = maj(T,F,F) = F (F,F,F,T,T) => maj(F,F,maj(F,T,T)) = maj(F,F,T) = F …

7
ความเสมอภาคผันผวน
เรามีวัตถุที่สั่นระหว่างจุดสองจุดจำนวนเต็ม[l, r]ที่ความเร็วของหนึ่งหน่วยต่อหน่วยเวลาที่เริ่มต้นที่เกี่ยวกับl คุณอาจจะสมมติt=0 l < rตัวอย่างเช่นถ้าวัตถุแกว่งไป[3, 6]มาเราจะได้: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 ฯลฯ แต่วัตถุสั่นอย่างต่อเนื่องดังนั้นเราจึงยังมีและt=0.5 -> 3.5t=3.7 -> 5.3 เมื่อให้วัตถุสองชนิดสั่นระหว่างกัน[l1, r1]ให้[l2, r2]กำหนดว่ามีเวลาใดtที่วัตถุทั้งสองแบ่งปันตำแหน่งเดียวกันหรือไม่ คุณใช้เวลาl1, r1, l2, r2ในรูปแบบที่สะดวกและส่งออกค่าจริง / เท็จ อินพุตที่แท้จริง: [[3, 6], [3, …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

30
กู้กำลังสำคัญจากพลังพิเศษ
คำจำกัดความ : พลังพิเศษเป็นจำนวนธรรมชาติที่สามารถแสดงในรูปแบบ p nโดยที่ p คือจำนวนเฉพาะและ n เป็นจำนวนธรรมชาติ ภารกิจ : เมื่อได้รับพลังพิเศษ p n > 1 ให้คืนค่านายกรัฐมนตรี ทดสอบ : input output 9 3 16 2 343 7 2687 2687 59049 3 เกณฑ์การให้คะแนน : นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

3
ปริศนารวมกัน!
บทนำ: Combinatory Logic Combinatory logic (CL) นั้นมีพื้นฐานมาจากสิ่งที่เรียกว่าcombinatorsซึ่งโดยทั่วไปแล้วจะทำหน้าที่ มีสองขั้นพื้นฐาน "ในตัว" combinators มีSและKซึ่งจะอธิบายในภายหลัง ซ้าย associativity CL คือการเชื่อมโยงด้านซ้ายซึ่งหมายถึงวงเล็บ (ที่มีเนื้อหา) ซึ่งอยู่ที่ด้านซ้ายสุดของวงเล็บคู่อับละอองเกสรที่มีมันสามารถเอาออกได้ ตัวอย่างเช่นสิ่งนี้: ((a b) c) สามารถลดลงไปได้ (a b c) ตำแหน่ง(a b)ที่อยู่ทางซ้ายสุดของเครื่องหมายวงเล็บใหญ่กว่า((a b) c)ดังนั้นจึงสามารถลบออกได้ ตัวอย่างที่ใหญ่กว่าของความสัมพันธ์ด้านซ้าย (วงเล็บเหลี่ยมคือคำอธิบาย): ((a b) c ((d e) f (((g h) i) j))) = (a b c ((d e) f (((g h) …

2
ตีความ Kipple!
บทนำ Kippleเป็นภาษาการเขียนโปรแกรมแบบกองซ้อนซึ่งเป็นความลับที่คิดค้นโดย Rune Berg ในเดือนมีนาคม 2003 Kipple มี 27 กอง 4 ตัวดำเนินการและโครงสร้างการควบคุม สแต็ค สแต็กถูกตั้งชื่อa- zและมีจำนวนเต็ม 32 บิต นอกจากนี้ยังมีสแต็กพิเศษ@เพื่อให้หมายเลขเอาต์พุตสะดวกยิ่งขึ้น เมื่อตัวเลขถูกส่งเข้าสู่@ค่า ASCII ของตัวเลขนั้นจะถูกผลักเข้าไปแทน (ตัวอย่างเช่นหากคุณกด 12 ถึง@จะได้ 49 และ 50 @แทน) อินพุตถูกส่งไปยังอินพุตสแต็กiก่อนที่โปรแกรมจะถูกดำเนินการ ล่ามจะถามหาค่าที่จะจัดเก็บiก่อนดำเนินการ หลังจากการดำเนินการเสร็จสิ้นสิ่งใดในเอาท์พุทสแต็คoจะถูกตอกไปยังเอาท์พุทเป็นตัวอักษร ASCII เนื่องจากนี่เป็นเพียงกลไก IO ของ Kipple เท่านั้นการโต้ตอบกับโปรแกรม Kipple จึงเป็นไปไม่ได้ ผู้ประกอบการ ตัวถูกดำเนินการเป็นทั้งตัวระบุสแต็กหรือจำนวนเต็ม 32 บิตลงนาม กด: >หรือ< ไวยากรณ์: Operand>StackIndentifierหรือStackIndentifier<Operand ตัวดำเนินการพุชนำตัวถูกดำเนินการไปทางซ้ายแล้วผลักไปยังสแต็กที่ระบุ ตัวอย่างเช่น12>aจะส่งค่า 12 …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
แปลงการแสดงออกเชิงตรรกะเพื่อรูปแบบปกติซึ่งเชื่อมต่อกัน
เป้าหมาย: เขียนโปรแกรมหรือฟังก์ชั่นที่สมบูรณ์ซึ่งใช้สูตรในตรรกะเชิงประพจน์ (ต่อจากนี้ไปจะเรียกว่าการแสดงออกเชิงตรรกะหรือการแสดงออก ) และผลลัพธ์สูตรนั้นในรูปแบบปกติซึ่งเชื่อมต่อกัน มีสองคงอยู่⊤และ⊥เป็นตัวแทนของความจริงและเท็จผู้ประกอบการเอกภาค¬เป็นตัวแทนของการปฏิเสธและผู้ประกอบการไบนารี⇒, ⇔, ∧และ∨ตัวแทนปริยายสมมูลร่วมและความร้าวฉานตามลำดับซึ่งเชื่อฟังทั้งหมดของตรรกะการดำเนินงานปกติ ( กฎหมาย DeMorgan ของ , คู่ปฏิเสธการกำจัดฯลฯ ) รูปแบบปกติร่วมกันกำหนดไว้ดังนี้ นิพจน์อะตอมใด ๆ (รวมถึง⊤และ⊥) อยู่ในรูปแบบปกติซึ่งเชื่อมต่อกัน การปฏิเสธของการแสดงออกใด ๆ ที่สร้างไว้ก่อนหน้านี้อยู่ในรูปแบบปกติซึ่งเชื่อมต่อกัน ความแตกต่างของสองนิพจน์ที่สร้างไว้ก่อนหน้านี้อยู่ในรูปแบบปกติซึ่งเชื่อมต่อกัน การรวมกันของสองนิพจน์ที่สร้างไว้ก่อนหน้านี้อยู่ในรูปแบบปกติซึ่งเชื่อมต่อกัน การแสดงออกอื่น ๆ ไม่ได้อยู่ในรูปแบบปกติของการเชื่อมต่อ นิพจน์แบบลอจิคัลใด ๆ สามารถแปลง (ไม่ใช่แบบไม่ซ้ำกัน) ให้เป็นนิพจน์ที่มีเหตุผลเชิงตรรกะในรูปแบบปกติแบบ conjunctive (ดูอัลกอริทึมนี้ ) คุณไม่จำเป็นต้องใช้อัลกอริทึมนั้น การป้อนข้อมูล: คุณสามารถป้อนข้อมูลในรูปแบบที่สะดวกใด ๆ เช่นการแสดงออกเชิงตรรกะสัญลักษณ์ (ถ้าภาษาของคุณรองรับ), สตริง, โครงสร้างข้อมูลอื่น ๆ คุณไม่จำเป็นต้องใช้สัญลักษณ์เดียวกันสำหรับตัวดำเนินการจริงเท็จและตัวดำเนินการทางตรรกะเช่นเดียวกับที่นี่ แต่ตัวเลือกของคุณควรสอดคล้องกันและคุณควรอธิบายตัวเลือกของคุณในคำตอบหากยังไม่ชัดเจน คุณไม่สามารถยอมรับอินพุตอื่นหรือเข้ารหัสข้อมูลเพิ่มเติมใด ๆ ในรูปแบบอินพุตของคุณ …
10 code-golf  math  logic 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.