图灵完备游戏:信号计数 解法记录

news2025/1/19 23:22:58

image-20230527121247983

使用1个全加器 + 2个半加器完成。这关的思想主旨在于如何把输出4,输出2,输出1的情况统一在一根导线上。

首先用一个全加器来完成输入2-4这三个引脚的计数,因为全加器输出范围二进制是00 - 11,而输入正好有两个引脚数位是2和1,刚好满足3个输入计数的所有情况。

剩下一个输入需要做分组判断,分为输入1亮的情况和输入1不亮的情况,按计数量分类:

**计数0的情况:**整个电路没有非门,没输入就没有输出,不用管。

**计数1的情况:**分为【输入1亮】和【输入1不亮,输入2-4其中一个亮】的情形。将一个半加器的输入a和电源输入1对接,输入b和下面全加器的s端连接,这样对于情形2,下面全加器的输出端就成为上面半加器的输入了,半加器s端输出1;对于情形1,半加器s端同样输出1,两个情形统一,于是半加器s端正好和终点数位为1的引脚绑定。

**计数2的情况:**分为【输入1亮,输入2-4其中一个亮】和【输入1不亮,输入2-4其中两个亮】的情形,前者有3种情况,后者有C2 3 = 6种情况, 由于我们的全加器s端是上面半加器b端的输入,于是情形1的三种情况全部可以统一为半加器s端输出0,c端输出1, 意思表示就是二进制10 = 2,于是半加器c端和终点数为2的引脚绑定。对于情形2,正好落在全加器的计数范围内,统一为全加器c端输出1,s端输出0,于是全加器c端也可以和终点数为2的引脚绑定,但两个c端都绑定同一个终点就会短路,怎么办呢?这时候第三个半加器就出来了,为方便区分,我们称上方半加器和新加入的半加器分别为半加器1,半加器2,下方全加器称全加器1。

半加器1c端和全加器1c端分别绑定半加器2输入a和输入b,由于计数2情况下,半加器1c端输出1和半加器2c段输出1不可能同时存在,两种情况最终统一为半加器2的s端输出1, 半加器2s端于是可以和终点数位为2的引脚绑定。

计数3的情况: 分为【输入1亮,输入2-4其中两个亮】和【输入1不亮,输入2-4全亮】的情形,情形1是C2 3 = 6种情况,情形2只有1种情况,共7种情况,实际上这里的逻辑是计数1和计数2两个情况的叠加。由于之前计数2和计数1的输出已经被统一了,于是不管那种情况,最终都统一为半加器1s端输出1,c端输出0和半加器2s端输出1,c端输出0的情况。

为什么会这样呢?可以看看,不管是情形1还是情形2,由于输入2-4的输入情况都在两个亮及以上,全加器1的c端输出一定为1,由于全加器1的c端输出是半加器2的b端输入,因此可转化为半加器2的s端输出一定为1,而这个输出正好和数位2引脚绑定。由于全加器1的s端输出又是半加器1b端的输入,因此输入1能够通过半加器1的s端输出来控制终点数位为1引脚的亮暗,

对于情形1,输入1亮,半加器1s端输出1,半加器2的s端输出1,分别点亮数位1和数位2两个引脚,输出3。

对于情形2,全加器s端和c端都输出1,s端输入给半加器1,c端输入给半加器2,于是半加器1s端和半加器2都输出1,分别点亮数位1和数位2两个引脚,输出3。

**计数4的情况:**全加器1s端和c端都输出1,由于全加器1的s端输出是半加器1b端的输入,于是半加器1s端输出0,c端输出1, 半加器1c端输出和全加器1c端输出分别成为半加器2a端和b端的输入,于是半加器2 s端输出0, c端输出1,正好对应计数4的情况,和引脚为4的终点绑定。

码了一个小时的字真不容易。。。。。看看youtube那个硬编码式的解答方案,有点计算机基础真好。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/575822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux周六串讲

esc. //粘贴复制上一条命令的参数 cat /etc/resolv.conf //查看DNS地址 route -n //查看网关 hostname //临时修改主机名 hostnamectl set-hostname 名称 //永久修改主机名 ssh root192.168.10.233 //用windows远程的格式,在CMD窗口输入这个命令 …

MYSQL数据库测评及整改

1、查询数据库版本:select version(); 2、查询已安装的插件:show plugins; 3、查询插件安装的位置: show variables like "%plugin_dir%"; 4、查询用户:选择数据库: select host,user,plugin from user; 5、…

Read View 数据快照,在MVCC里是如何工作的?

Read View 数据快照,在MVCC里是如何工作的? Read View 有四个重要的字段: ● m_ids :指的是在创建 Read View 时,当前数据库中「活跃事务」的事务 id 列表,注意是一个列表,“活跃事务”指的就…

Seata术语

1.什么是Seata Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官网 2.Seata能干嘛 一个典型的分布式事务过程 分布式事务处理过程的一ID三组件模型: Transaction ID XID 全局唯一的事务ID三组…

WSL2编译安卓8.1源码,直接运行模拟器

目录 WSL2编译安卓8.1源码,直接运行模拟器WSL2下载安装移动到非系统盘下载和编译Android8直接运行emulator修改模拟器配置源码导入Android Studio并进行调试断点调试总结 WSL2编译安卓8.1源码,直接运行模拟器 学习Android Framework开发,需要…

零基础CTF入门指南+工具

ctf入门指南 CTF工具包获取地址:http://www.ctftools.com/ 如何入门?如何组队? capture the flag 夺旗比赛 类型: Web 密码学 pwn 程序的逻辑分析,漏洞利用windows、linux、小型机等 misc 杂项,隐写&…

2023年电工杯选题人数发布

该选题人数,主要基于根据各个平台开赛后24小时各项数据统计,进行评估(方法见注释),最终得出2023年认证杯二阶段选题人数,大致为 题号选题人数A97B431 注释:选题人数来源:源自各个平台…

Python案例:获取music榜单数据,保存自己的music库

目录 前言本次知识点:开发环境:代码展示括展小知识尾语 💝 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次知识点: 爬虫基本流程 requests的使用 正则表达式的使用 开发环境: 解释器: python 3.8 编辑器: pycharm 2022.3 专业版 第三方模块使用 r…

如何自学网络安全 才不会成为脚本小子?

前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1、Web 安全相关概念(2 周) 了解网络安全相关法律法规 熟悉基本概念(SQL 注入、上传、XSS、CSRF、一句话木马等)。…

基于three.js实现的点击盒子消除游戏

一.项目背景 大学时期参加了机器人协会&#xff0c;并有幸成为了视觉组组长&#xff0c;所以在新一届社团招新上做了一款趣味小游戏来吸引新生的眼球&#xff0c;让大家知道协会的视觉组。 二.代码展示 <!DOCTYPE html> <html> <head> <style> body…

chatgpt赋能python:Python文件名字替换-优化SEO的必备技巧

Python文件名字替换-优化SEO的必备技巧 作为一名有10年Python编程经验的工程师&#xff0c;我深知文件名字替换在优化搜索引擎排名中占有重要的地位。本文将介绍如何使用Python进行文件名字替换以优化SEO&#xff0c;旨在为广大编程初学者提供有益的参考和指导。 什么是文件名…

零基础如何学习 Web 安全?

Web安全不仅是互联网的核心&#xff0c;而且还是云计算和移动互联网的最佳载体。对于信息安全从业者而言&#xff0c;Web安全是一个非常重要的研究课题之一。 Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的广泛使用&#xff0c;社交网络、聊天工具…

小学妹刚毕业没地方住想来借宿?于是我连夜用Python给她找了个好房子,我真是太机智了

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 事情是这样的&#xff0c;小学妹刚毕业参加工作&#xff0c;人生地不熟的&#xff0c; 因为就在我附近上班&#xff0c;所以想找我借宿。。。 想什么呢&#xff0c;都不给住宿费&#xff0c;想免费住&#xff1f; 于是我用…

MySQL运维篇(二)

四.MyCat 4.1 MyCat概述 4.1.1 介绍 Mycat是开源的、活跃的、基于Java语言编写的数据库中间件。可以像使用mysql一样来使用 mycat&#xff0c;对于开发人员来说根本感觉不到mycat的存在。mycat不单只可以做MySQL的代理&#xff0c;其它常用的数据库也可以。 开发人员只需要…

基于springboot+Vue+ Element-Plus+mysql实现学生宿舍管理系统

基于springbootVue Element-Plusmysql实现学生宿舍管理系统 一、系统介绍二、功能展示1.登陆2、主页--学生3、主页--宿舍管理员4.学生管理--管理员5.宿管信息--管理员6.宿舍管理--管理员7.信息管理--管理员8.申请管理--管理员9.访客管理--管理员10.水电费管理--管理员11.卫生管…

AB Test数学原理及金融风控应用

1 什么是AB Test AB测试是一种常用的实验设计方法&#xff0c;用于比较两个或多个不同处理或策略的效果&#xff0c;以确定哪个处理或策略在某个指标上表现更好。在AB测试中&#xff0c;将随机选择一部分用户或样本&#xff0c;将其分为两个或多个组&#xff0c;每个组应用不同…

【Maven】单元测试、统计、覆盖率相关插件使用介绍

maven-surefire-plugin maven-surefire-plugin是maven执行单元测试的插件&#xff0c;不显性配置也可以直接使用。这个插件的surefire:test命令会默认绑定maven执行的test阶段。执行结束后&#xff0c;默认在target/surefire-reports目录下会生成txt和xml两种格式的结果&#…

接口测试-Mock测试方法

一、关于Mock测试 1、什么是Mock测试&#xff1f; Mock 测试就是在测试过程中&#xff0c;对于某些不容易构造&#xff08;如 HttpServletRequest 必须在Servlet 容器中才能构造出来&#xff09;或者不容易获取的比较复杂的对象&#xff08;如 JDBC 中的ResultSet 对象&#…

2023年电工杯B题问题二三思路讲解+创新点

问题二三解题思路 1.根据你们对数据的分析结果选取评价指标&#xff0c;从优先级、科学性、可操作性等方面论述其合理性&#xff0c;并构建评价指标体系&#xff1b; 2.建立数学模型&#xff0c;评价人工智能对大学生学习的影响&#xff0c;给出明确、有说服力的结论&#xf…

【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用

本系列博文还在更新中&#xff0c;收录在专栏&#xff1a;#MS-SQL Server 专栏中。 本系列文章列表如下&#xff1a; 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南&#xff08;一&#xff09;数据库设计 【SQL Se…