python找出最小数_找出不除N的最小数
COW,174个字节
oomMOOMMMmoOmoOmoOMMMmOomOoMoOMMMmoOmoOmoOMMMmOoMOOmoO
MOomoOMoOmOoMOOmoOmoomoOMOOmOoMoOmoOMOomoomOomOoMOOmOo
moomoOMOomoomoOmoOMOOmOomOomOomOoOOMOOOMOomOOmoomOomOo
mOomOomOomoo
这段代码只是我自己的一部分-它实现了我从Brainfuck移植的模数算法。 其余的代码是我自己的。但是,由于我没有编写模数算法,因此我还没有真正研究过它的工作原理,也无法记录该部分代码。取而代之的是,我将给出我通常的细目,然后是代码为何起作用的更深入的解释。
代码细目
oom ;Read input into [0].
MOO ;Loop while [0]. We never change [0], so the program only terminates forcibly after a print.
MMMmoOmoOmoOMMMmOomOo ; Copy [0] to [3] and navigate to [1].
MoOMMMmoOmoOmoOMMM ; Increment [1], and copy it to [4]
mOo ; Navigate back to [3].
MOO ; Modulus algorithm. Direct port of brainfuck algorithm.
moOMOomoOMoOmOo
MOO
moO
moo
moO
MOO
mOoMoOmoOMOo
moo
mOomOo
MOO
mOo
moo
moOMOo
moo ; End modulus algorithm.
moOmoO ; Navigate to [5]. This contains our modulus.
MOO ; Only perform these operations if [5] is non-zero -- i.e. [0] % [1] != 0
mOomOomOomOoOOMOOOMOomOO ; Navigate to [1], print its contents, then error out.
moo ; End condition
mOomOomOomOomOo ; Since we're still running, [0] % [1] == 0, so navigate back to [0] and try again.
moo ;End main loop.
说明
代码首先将整数读取为[0]。主循环的每次迭代(第2到26行)递增[1],然后将所有必要内容复制到模数算法中,该算法将其结果吐出到[5]中。如果[5]包含任何值,则[1]是我们需要打印的数字。我们打印它,然后强制退出程序。
由于COW是一个疯子派生类,它的功能与疯子的操作相对类似-无限条带,您可以向左或向右移动,增大或减小以及“循环”,而当前磁带值为非零。除了动脑筋,COW还具有一些有用的功能。
(0) moo -- Equivalent to ]
(1) mOo -- Equivalent to <
(2) moO -- Equivalent to >
(3) mOO -- No equivalent. Evaluate current tape value as instruction from this list.
(4) Moo -- If tape is 0, equivalent to ,; if tape is non-zero, equivalent to .
(5) MOo -- Equivalent to -
(6) MoO -- Equivalent to +
(7) MOO -- Equivalent to [
(8) OOO -- No equivalent. Set tape (positive or negative) to 0
(9) MMM -- No equivalent. If register is empty, copy tape to register. If register is non-empty, paste register to tape and clear register.
(10) OOM -- No equivalent. Print an integer from tape to STDOUT
(11) oom -- No equivalent. Read an integer from STDIN and store it on tape
这里真正的兴趣点是指令3,mOO...。解释器读取当前的磁带值,并基于该磁带值执行指令。如果该值小于0,大于11或等于3,则解释器终止程序。找到非除数后,可以将其用作主循环(和整个程序)的快速退出。我们要做的就是打印数字,用[清除[1](用OOO),用减为-1 MOo,然后执行指令-1,通过mOO该指令结束程序。
该程序的磁带本身具有以下功能:
[0] -- Read-in integer from STDIN.
[1] -- Current divisor to test
[2] -- Placeholder for modulus algorithm
[3] -- Temporary copy of [0] for use for modulus algorithm
[4] -- Temporary copy of [1] for use for modulus algorithm
[5] -- Placeholder for modulus algorithm. Location of remainder at end of loop.
[6] -- Placeholder for modulus algorithm
[7] -- Placeholder for modulus algorithm
运算结束后,模数算法自然会清除[2],[3],[6]和[7]。[4]的内容被第4行上的寄存器粘贴覆盖,并且当[0]被[1]整除时,[5]为零,因此我们不必清除它。如果[5]不为零,则我们在第23行强制退出,因此我们不必担心。
python找出最小数_找出不除N的最小数相关推荐
- arcgis批量出图python代码_【GIS进阶】ArcGIS批量出图_定义出图
今天的文章是浩哥投稿!!! 下图是我欢呼雀跃的样子~~~~~ 本文亮点: 所有步骤都是用ArcGIS中各种工具和软件操作组合,未使用Arcpy与Python等需要使用代码的工具! 这次的这个批量出图又 ...
- java开发找你妹_找你妹java版下载-找你妹java版2020最新版下载v1.1.1_MDPDA手机网
找你妹java版是一款超级好玩的找茬冒险类手机游戏,充满趣味的卡通画风,超多不同游戏关卡,难度可以让玩家来自己选择,很考验玩家的观察能力,丰厚的奖励,玩家们每天登录到游戏当中就可以直接获得,还有超级多 ...
- Java找对象笑话_找对象相亲的笑话7则,爱情笑话
1.选 择姑娘和小伙子经婚姻介绍所安排,在公园里见了面.两人谈了没一会儿,姑娘便起身告 辞.小伙子对姑娘很中意,见她要走,心里很急,连忙追问原因. 姑娘:"你虽然相貌堂堂,可是腹中空空.&q ...
- python爬取工资_找工作如何和HR谈薪资,python教你爬取行业标准工资
找工作不可避免的要涉及到薪酬问题,如何沟通才能最大程度达到自己的预期? 同样level的公司,有人年薪十几万,有的人插了个草标就把自己卖了,面试中被问到具体的薪资数目.常常会陷入要价太高(或者太低)的 ...
- arcgis批量出图python代码_ArcGIS批量出图_常规出图
本文亮点:所有步骤都是用ArcGIS中各种工具和软件操作组合,未使用Arcpy与Python等需要使用代码的工具! 不知道身处国土行业的你是否经常因某个项目需要大量出图而苦恼,今天我就和大家说一下如何 ...
- python a股行情_老虎出API了,包括所有A股行情。
传奇 - 初生牛犊不怕虎,但终究会被虎吃掉. 赞同来自: 此次老虎宣布"升级"成为非披露证券经纪商,是相对于全披露证券经纪商而言,后者是指这些经纪商必须向客户告知,以老虎证券&qu ...
- python如何计算字典平均值_算出字典中数值的平均值
如果需要"实时"更新您的平均值(尽管可能是用核武器杀死苍蝇,而不是您真正需要的),则需要创建一个从内置的dict类型继承并用averages方法扩展它的自定义类:import pp ...
- python梦幻西游鼠标偏移_找个梦幻西游防鼠标偏移漂移防越界的按键精灵子程序...
Sub 鼠标移动 (i,j) MBX=i:MBY=j If MBX > 60 and MBX < 550 and MBY > 100 and MBY < 450 MoveTo ...
- 面试官问你想找什么工作_找工作时如何面试面试官
面试官问你想找什么工作 在技术面试中要问的十二个问题 (Twelve questions to ask at tech interviews) I've just come off six wee ...
最新文章
- 6.3 Spring Boot集成mongodb开发
- Node.js 安装报错提示“The error code is 2503“问题解决方法
- pg数据库开启远程连接_Postgresql开启远程访问的步骤全纪录
- 「递归」的正确打开方式,看不懂你打我~
- 【渗透测试】cookie注入笔记
- 软考信息安全工程师学习笔记三(1.3 信息安全管理基础)
- 60-50-010-API-Kafka producer拦截器(interceptor)
- jsp标签 meta的解释
- 谷歌招聘新职员的五大标准
- 旧版sai笔刷_最详细的SAI笔刷设置教程,非常全面详细!
- 哈工大同义词词林扩展版-资源分享
- Servlet中request.getParameter和getParameterValues getParameterNames三者区别
- linux添加静态ipv6路由,请问如何在CentOS7上配置已经静态路由好的IPv6地址块?
- 愚人节整蛊,网页倾斜代码
- 蹩脚的程序员们,我们来谈谈你的未来!
- 视频剪辑,就上这5个网站找素材,免费可商用。
- 兆骑科创创新创业服务平台,海内外高层次人才引进,活动赛事
- PC浏览器添加背景音乐 VS 手机浏览器添加背景音乐
- 医院信息管理系统源码 HIS系统源码
- 创建三维头像只需一张自拍,AI 技术即将开启 3D 社交时代?
热门文章
- VC++ 进度条更新方案
- 河南城镇化争植“智慧”基因
- html5实例-闪烁的星星
- Codeforces Round #356 (Div. 1) D. Bear and Chase 暴力
- Codeforces Gym 100187D D. Holidays 排列组合
- APUE 线程的分离状态
- 蓝桥杯“基础练习:查找整数
- python 发布自定义模块(图文诠释)
- access在sql中横向求和_如何在Access查询中增加总和、平均查询列
- C程序设计语言现代方法15:编写大型程序