Questions tagged «logic-gates»

挑战包括使用逻辑门作为编码语言或输出逻辑门。

15
手动逻辑门
编写一个模拟基本逻辑门的程序。 输入:一个全大写单词,后跟2个1位二进制数字,以空格分隔,例如OR 1 0。门OR,AND,NOR,NAND,XOR,和XNOR需要。 输出:输入的逻辑门的输出将被赋予两个数字:1或0。 例子: AND 1 0成为0 XOR 0 1变得1 OR 1 1成为1 NAND 1 1成为0 这是codegolf,所以最短的代码获胜。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: 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 

9
真相表:您曾祖父的计算机
如果您还记得上学的那段时间,您可能还记得有关Truth Tables的学习。它们看起来很无聊,但是它们是逻辑和(所有人都会争辩)所有计算的基础... 问题 您选择接受的任务是编写可以在给定输入的情况下输出真值表的程序,函数或代码小部件。 输入值 输入将是一个字符串(如数据结构),其中包含将真值表放入其中的逻辑语句。例如: p ∧ q 这意味着p and q(逻辑结合),并将输出: p q p ∧ q T T T T F F F T F F F F 注意间距:列的项目在标题的中心 性格 通过字符而不是字节计分 逻辑比较字符是特殊的,并不总是看起来像。使用以下字符: 逻辑连接(AND):∧U + 2227 逻辑分离(OR):∨U + 2228 逻辑否定(NOT)~或¬U + 7e和U + ac 奖金 所有这些奖金都是可选的,但会降低您的分数。选择任何。 逻辑否定 逻辑否定是真值表中的一元运算符。它等效!于大多数基于C的语言。它使false=> true,反之亦然。用¬ 或 …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
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 

4
使用“与非”门构建一个4-vertex Connectedness Tester
阿连接图形是包含任意两个顶点之间的路径的曲线图。 挑战 建立一个[2-input NAND-gate]电路,确定是否连接了4-vertex图。 (一个门的2个输入可以是相同的输入位或另一个门。) 如果已连接图形,则输出True,否则输出False。 输入值 具有4个顶点的简单图的六个可能的边: [ 0 ë 1,0 ë 2,1 ë 2,0 ë 3,1 ë 3,2 ë 3 ] 其中, e b表示顶点a和b之间是否存在边 连接等于以下条件: 如果少于3个输入为True,则输出False。 如果三个以上输入为True,则输出True。 如果恰好3个输入为True,并且它们形成一个三角形,则输出False。 否则,输出True。 使用最少门的答案将获胜。结将被 最低的电路深度(从输入到输出的最长路径的长度)破坏 。

3
建立3分频电路
TCS中的布尔电路基本上是由“与”,“或”,“非”门组成的DAG,通过“功能完备性”已知,它们可以计算所有可能的功能。例如,这是ALU中的基本原理。 挑战:创建一个电路以确定8位二进制数是否可以被3整除,并以某种方式可视化您的结果(即某种形式的图片) 选民的判断标准基于生成电路的代码是否能很好地推广到任意大小的数字,以及算法创建的可视化是否紧凑/平衡但仍然可读(即不允许人工可视化)。也就是说,可视化仅适用于n = 8,但理想情况下,代码将适用于所有'n'。获奖作品只是最高票数。 有点类似的问题:使用NAND逻辑门构建乘法器

7
绘制XNOR数字时序图
下面是一个(示意图)数字时序图,对于XNOR逻辑门。 ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └── ┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ X ──┘ └───┘ └───┘ └───┘ └──── 您的目标是完全按照图示复制它。 规则: 您可以打印它或返回多行字符串。 允许任意数量的配对和/或前导换行符; 允许尾随空格(但不能开头!); 如果您不能使用扩展的ASCII框绘图字符,则可以用它们代替unicode等效字符(不损失字节数)。 这是代码高尔夫球,因此最短的答案以字节为单位。 二进制表示 为了您的方便,上图的二进制表示如下: INP A=0101011101010110 …

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

2
使用NAND逻辑门构建位计数比较器
阿位计数比较器(BCC)是一个逻辑电路,它利用计数输入一些号码A1, A2, A3, ..., An以及输入B1, B2, B4, B8, ...表示一个数字。然后,它返回1如果总数A是上投入大于数以二进制由所表示的B输入(例如B1,B2和B8将使数11),以及0以其他方式。 例如,对于一个位计数比较器,其需要5输入,其中A2,A4,A5,和B2被设置为1,将返回1因为有3个A输入,为上,这是大于2(数表示仅通过B2正对)。 您的任务是创建一个位计数比较器,该计数器总共使用16个A输入和4个B输入(表示从1到的位8),仅使用两个输入NAND门,并使用尽可能少的NAND门。为简化起见,您可以在图表中使用AND,OR,NOT和XOR门,并具有以下相应的分数: NOT: 1 AND: 2 OR: 3 XOR: 4 这些分数中的每一个都对应于构造相应门所需要的NAND门数量。 使用最少的“与非”门产生正确结构的逻辑电路胜出。

2
实施超级优化器进行添加
任务是编写可为位和找到小的逻辑公式的代码。 总体挑战是您的代码要找到最小的命题逻辑公式,以检查y二进制0/1变量的总和是否等于某个值x。让我们将变量称为x1,x2,x3,x4等。您的表达式应等于和。也就是说,当且仅当和等于x时,逻辑公式才应为真。 这是一个幼稚的方法。假设y = 15且x =5。选择所有3003种不同的方式来选择5个变量,并为每个变量创建一个新子句,其中包含这些变量的AND和其余变量的否定AND。您最终得到3003个子句,每个子句的长度恰好为15,总费用为45054。 例如,您的答案应该是可以粘贴到python中的那种逻辑表达式,以便我可以对其进行测试。如果两个人得到相同大小的表达式,则运行速度最快的代码将获胜。 您可以在解决方案中引入新变量。因此,在这种情况下,您的逻辑公式由y个二进制变量,x和一些新变量组成。当且仅当y变量的总和等于x时,整个公式才是可满足的。 首先,有些人可能想从y = 5变量加到x = 2开始。天真的方法将产生50的成本。 该代码应将两个值y和x作为输入,并输出公式及其大小作为输出。解决方案的成本只是其输出中变量的原始计数。所以(a or b) and (!a or c) 算作4只允许运营商and,or和not。 更新事实证明,至少在理论上,当x = 1时,有一个聪明的方法可以解决这个问题。

2
使用NAND逻辑门构建EBCDIC转换器
在这个问题中,在EBCDIC和ISO-8859-1的超集之间定义了映射。 您的任务是建立一个两输入与非门网络,该网络将采用A1, A2, A4, ..., A128代表EBCDIC字符的八个输入,并B1, B2, B4, ..., B128根据该映射返回代表对应的“ ISO-8859-1”字符的八个输出。 为简化起见,您可以在图表中使用AND,OR,NOT和XOR门,并具有以下相应的分数: NOT: 1 AND: 2 OR: 3 XOR: 4 这些分数中的每一个都对应于构建相应门所需要的NAND门数量。 使用最少的“与非”门来正确实现上述所有要求的逻辑电路将胜出。

8
一个简单的逻辑门计算器
如果您选择接受,那么您的任务就是为以下逻辑运算符构造一个简单的真值评估器: ---------------------------------------------------------------------------------- Logical Name | Gate Name | Symbol | Symbol Name | Truth Table ---------------------------------------------------------------------------------- Identity | is | | (none) | 10 Negation | not | ~ | tilde | 01 Conjunction | and | & | ampersand | 1000 Disjunction | or | | | pipe | …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.