【问题标题】:Implementing a XNOR Gate in Python在 Python 中实现 XNOR 门
【发布时间】:2021-08-01 10:22:06
【问题描述】:

我有一个按升序排序的正整数序列。

我想确定两个整数 A 和 B 是否存在于已排序的 序列 中,使得 A XNOR B = -1,通过比较排序序列中的所有可能对,并检查它们是否与 -1 互斥 NOR。我不清楚实现逻辑门,所以任何帮助将不胜感激!

sequence = [5, 5, 8, 8, 8, 9, 10]

预期输出:

A=5, B=5
A=8, B=8
A=8, B=8
A=8, B=8
总匹配数为 4 .

【问题讨论】:

  • 一般来说,没有特定的 XNOR 运算符,但鉴于 XNOR 是 XOR 的逻辑补充,您可以将逻辑门实现为 ~ (A ^ B)
  • 你能用位运算符来实现吗?

标签: python python-3.x list pycharm sequence


【解决方案1】:

a xnor b == -1a == b 是一回事,所以:

>>> from itertools import combinations
>>> sequence = [5, 5, 8, 8, 8, 9, 10]
>>> matches = [(k, v) for k, v in combinations(sequence, 2) if k == v]

然后

>>> matches
[(5, 5), (8, 8), (8, 8), (8, 8)]

>>> len(matches)
4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-25
    • 2011-02-28
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多