找回密码

魔王推理论坛-推理大赛|原创谜题|推理小说|侦探|推理|推理游戏|

查看: 16227|回复: 9
收起左侧

逻辑电路

[复制链接]

163

主题

1522

帖子

1万

积分

魔推A级探员

[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章[限量]*十周年纪念勋章


穿山王 Lv:17
发表于 2014-7-30 12:32:39 | 显示全部楼层 |阅读模式
请设计一个有三个输入(0或1)和三个与输入相反的输出的逻辑电路。你可以用任意个“与”门和“或”门,但是最多只能用两个“非"门。

再熬下去都要退役了
回复

使用道具 举报

10

主题

270

帖子

3700

积分

魔推B级探员

[标准]*好友勋章[标准]*最佳新人勋章

QQ
发表于 2014-7-30 12:56:35 | 显示全部楼层
这个沙发也抢了~~~~~~~~~~~~{:3_421:}{原则依然是不会提,没看题}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~爱与恨本是表里一体,善与恶原本就不可区分。
回复

使用道具 举报

163

主题

1522

帖子

1万

积分

魔推A级探员

[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章[限量]*十周年纪念勋章


穿山王 Lv:17
 楼主| 发表于 2014-7-30 13:05:29 | 显示全部楼层
飘渺筱僧僧 发表于 2014-7-30 12:56
这个沙发也抢了~~~~~~~~~~~~{原则依然是不会提,没看题}

噗,那就叫大神来回答
再熬下去都要退役了
回复

使用道具 举报

47

主题

1537

帖子

1万

积分

魔推A级探员

[标准]*国庆勋章[限量]*猴年专属勋章[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章

发表于 2014-7-30 13:14:30 | 显示全部楼层
看不懂= =(⊙_⊙)
小黑就是小黑呀。
回复

使用道具 举报

163

主题

1522

帖子

1万

积分

魔推A级探员

[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章[限量]*十周年纪念勋章


穿山王 Lv:17
 楼主| 发表于 2014-7-30 13:39:05 | 显示全部楼层
小黑 发表于 2014-7-30 13:14
看不懂= =(⊙_⊙)

hhhh这就是数学和物理完美的结合体
再熬下去都要退役了
回复

使用道具 举报

163

主题

1522

帖子

1万

积分

魔推A级探员

[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章[限量]*十周年纪念勋章


穿山王 Lv:17
 楼主| 发表于 2014-7-31 14:33:25 | 显示全部楼层
假设三个输入分别是S0,S1,S2,先定义函数Q(k):
Q(0) = 1
Q(1) = s0 + s1 + s2
Q(2) = s0·s1 + s1·s2 + s2·s0
Q(3) = s0·s1·s2
Q(k)有一个特征,就是当且仅当至少有k个输入信号为1时,Q(k) = 1

再定义函数R(k,i),R(k,i)等于把Q(k)中含si的项移除后剩下的部分,于是有
R(1, 0) = s1 + s2
R(1, 1) = s0 + s2
R(1, 2) = s0 + s1
R(2, 0) = s1·s2
R(2, 1) = s2·s0
R(2, 2) = s0·s1
R(k,i)的特征是当且仅当至少有k个不包括si输入信号为1时,R(k,i) = 1

最后定义函数P(k),P(k)=1当且仅当刚好有k个输入信号为1。那么第i个相反的输出信号就可以表示为 ti = P(0) + P(1)·R(1,i) + P(2)·R(2,i)

函数P(k)可以通过Q(k)来构造,假设用一个矩阵来表示输入信号是1的个数和Q(k)的值之间的关系,这个矩阵可以写成

0123 (输入信号是1的个数)
0001 (Q(3))
0011 (Q(2))
0111 (Q(1))
1111 (Q(0))

现在需要构造的是
0001 (P(3))
0010 (P(2))
0100 (P(1))
1000 (P(0))

构造方法如下:

0001 (Q(3))
0011 (Q(2))
0111 (Q(1))
1111 (Q(0))

先把上面矩阵的第二行进行非运算,然后把结果分别和第三行和第四行进行与运算并替换掉,我们可以得到

0001 (Q(3))
0011 (Q(2))
0100 (~Q(2)·Q(1))
1100 (~Q(2)·Q(0))

把上面矩阵的的第一行和第三行进行或运算再取反,然后把结果分别和第二行和第四行进行与运算并替换掉,可以得到

0001 (Q(3))
0010 (~(Q(3)+~Q(2)·Q(1))·Q(2))
0100 (~Q(2)·Q(1))
1000 (~(Q(3)+~Q(2)·Q(1))·(~Q(2)·Q(0)))

上面的操作只用到两个非门,于是有

P(0) = ~(s0·s1·s2 + ~(s0·s1 + s1·s2 + s2·s0)·(s0 + s1 + s2))·~(s0·s1 + s1·s2 + s2·s0)
P(1) = ~(s0·s1 + s1·s2 + s2·s0)·(s0 + s1 + s2)
P(2) = ~(s0·s1·s2 + ~(s0·s1 + s1·s2 + s2·s0)·(s0 + s1 + s2))·(s0·s1 + s1·s2 + s2·s0)
P(3) = s0·s1·s2

R(1, 0) = s1 + s2
R(1, 1) = s0 + s2
R(1, 2) = s0 + s1
R(2, 0) = s1·s2
R(2, 1) = s2·s0
R(2, 2) = s0·s1

输出信号ti可以写成

t0 = P(0) + P(1)·R(1,0) + P(2)·R(2,0)
t1 = P(0) + P(1)·R(1,1) + P(2)·R(2,1)
t2 = P(0) + P(1)·R(1,2) + P(2)·R(2,2)

用上面的方法,n个非门最多可以反转2^n - 1个输入信号
再熬下去都要退役了
回复

使用道具 举报

23

主题

896

帖子

4220

积分

魔推B级探员

[标准]*好友勋章

发表于 2014-7-31 22:20:26 | 显示全部楼层
过来看看{:3_415:}
隐藏在真相中的谎言,在谎言中潜藏的真相。
回复

使用道具 举报

163

主题

1522

帖子

1万

积分

魔推A级探员

[限量]*五周年纪念勋章[标准]*好友勋章[限量]*转发勋章[限量]*十周年纪念勋章


穿山王 Lv:17
 楼主| 发表于 2014-8-1 11:30:39 | 显示全部楼层

我该说什么呢。。。欢迎围观{:3_421:}
再熬下去都要退役了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入魔王推理

本版积分规则

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.4( 粤ICP备17127872号 )

快速回复 返回顶部 返回列表