伪代码

2019-2020学年 20191327《信息安全专业导论》第六周学习总结

只愿长相守 提交于 2019-12-04 02:02:20
1.教材内容学习 了解了计算机解决问题的思路、基础算法的设计、几种不同的搜索算法以及子程序中的一些特殊算法,同时进一步掌握了伪代码的书写。 2.代码调试过程中的问题 问题:伪代码经常出现格式错误,总是漏掉一些细节例如字符 解决方法:在书上翻找查看伪代码书写的范例,总结自己容易遗漏的地方 3.其他学习 1.继续阅读《自学是门手艺》 2.上网搜索相关python相关网课进行学习 4.学习计划 计划学习:6小时 实际学习:6小时 来源: https://www.cnblogs.com/tzy20191327/p/11827689.html

欧几里得算法及其伪代码

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 13:17:44
欧几里得算法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 ------[欧几里得算法原理](https://blog.csdn.net/ltrbless/article/details/86770606) 伪代码 开始 输入两个数m,n 比较两个数大小 在余数不为零时 用较大的数除以较小的数 再用出现的余数(第一余数)去除除数 余数为零时 输出最后的除数 结束 伪代码的运行结果 来源: https://www.cnblogs.com/lxy2019/p/11796543.html

求最大公约数伪代码

雨燕双飞 提交于 2019-12-03 11:39:57
欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。 其计算原理依赖于下面的定理: 两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 最大公约数(greatest common divisor)缩写为gcd。 gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0),以此辗转相除得到最终结果 来源: https://www.cnblogs.com/kevin-hw/p/11794449.html

求最大公约数伪代码

放肆的年华 提交于 2019-12-03 11:32:47
一.什么是欧几里得算法 在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》中,而在中国则可以追溯至东汉出现的《九章算术》。 两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。 辗转相除法最早出现在欧几里得的《几何原本》中,所以它是现行的算法中历史最悠久的。这个算法原先只用来处理自然数和几何长度,但在19世纪,辗转相除法被推广至其他类型的数学对象,如高斯整数和一元多项式。由此,引申出欧几里得整环等等的一些现代抽象代数概念。后来,辗转相除法又扩展至其他数学领域,如纽结理论和多元多项式。 辗转相除法有很多应用,它甚至可以用来生成全世界不同文化中的传统音乐节奏。在现代密码学方面,它是RSA算法的重要部分。它还被用来解丢番图方程,比如寻找满足中国剩余定理的数,或者求有限域中元素的逆。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论中的基本工具。 辗转相除法处理大数时非常高效,如果用除法而不是减法实现,它需要的步骤不会超过较小数的位数的五倍。拉梅于1844年证明了这点,同时这也标志着计算复杂性理论的开端。 参考网址: https://zh.wikipedia.org/wiki/%E8%BC%BE%E8%BD

求最大公约数伪代码

一曲冷凌霜 提交于 2019-12-03 10:25:34
算法:def Euclidean(a, b): max = a if a > b else b min = b if a > b else a if max % min == 0: return min else: return Euclidean(min, max-min*int(max/min)) 链接: https://blog.csdn.net/weixin_42239402/article/details/88061908 伪代码: 若m<n,那么m↔n,为了确保m>n。 求m除以n得到的余数r。 若r为0,算法结束,n为答案。 若r不为0,则m←n,n←r,再跳转到步骤2。 来源: https://www.cnblogs.com/1208499954qzone/p/11791041.html

《信息安全专业导论》第五周学习总结

ⅰ亾dé卋堺 提交于 2019-12-03 09:36:54
教材学习内容总结 计算机科学概论的第六章中学习了Pep/8虚拟机的作用和使用方法,用简单的机器语言转化成高级语言以及汇编语言转换成机器语言的方式。 知道了什么是伪代码,以及测试算法的方法。 学习中出现的问题及解决方案 通过书理解伪代码有些困难,通过网上搜索得到答案 伪代码(Pseudocode)是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。人们在用不同的编程语言实现同一个算法时意识到,他们的实现(注意:这里是实现,不是功能)很不同。尤其是对于那些熟练于不同编程语言的程序员要理解一个(用其他编程语言编写的程序的)功能时可能很难,因为程序语言的形式限制了程序员对程序关键部分的理解。这样伪代码就应运而生了。伪代码提供了更多的设计信息,每一个模块的描述都必须与设计结构图一起出现。 伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。 【简单示例】输入3个数,打印输出其中最大的数。可用如下的伪代码表示: Begin(算法开始) 输入 A,B,C IF A>B 则 A→Max 否则 B→Max IF C>Max 则 C→Max Print Max End (算法结束) 代码调试中遇到的一些问题及解决方案 参加ISA课程中大约有60多行代码,还有课下的一些练习大约50行。问题大多是() ,"", : 的有无不清楚造成的,简单检查一遍就可解决。

第九章 伪代码编程过程

匿名 (未验证) 提交于 2019-12-03 00:03:02
本章从微观上关注编程过程――也就是关注创建单独的类及其子程序的特定步骤。本章还将讲述伪代码编程过程,这种编程有助于减少设计和编写文档所需的工作量,同时提高这两项的工作质量。 先对一个类做总体设计,列出这个类内部的特定子程序,创建这些子程序,然后从整体上复查这个类的创建结果。 创建一个类的关键步骤如下: 创建类的总体设计; 创建类中的子程序; 复审并测试整个类。 创建子程序涉及到的活动: 设计子程序; 检查设计; 编写子程序的代码; 检查代码。 有效使用伪代码的指导原则: 用类似英语的语句来精确描述特定的步骤; 避免使用目标编程语言中的语法元素; 在本意层面上编写伪代码; 在一个足够低的层次上编写伪代码,以便可以近乎自动地从它生成代码。 一段不好的伪代码示例 increment resource number by 1 allocate a dlg struct using malloc if malloc() returns NULL then return 1 invoke OSrsrc_init to initialize a resource for the operating system *hRsrePtr = resource number return 0 一段好的伪代码 keep track of current number of resource in use

2019-2020-1学期 20192403 《网络空间安全专业导论》第四周学习总结

拥有回忆 提交于 2019-12-02 23:01:12
2019-2020-1学期 20192403 《网络空间安全专业导论》第四周学习总结 第八章 学习收获 什么是抽象数据类型:属性明确的与特定实现分离的容器 区别栈和队列(LIFO和LILO) 列表和链式结构的概念 树,二叉树(构造,检索,输出) 图,图的分类 图搜索算法和栈,队列概念的结合 子程序是如何实现的 如何删除列表中的某个元素:使被删除元素与列表最后一个元素交换位置并且将列表的长度减一 理解要点 栈和队列的理解要牢固,以便与后文深度优先搜索,广度优先搜索相联系 要清楚了解伪代码中每一条子程序的名字的意义 待解决问题 容器的定义是什么? P161伪代码是如何运行的? P63除了最后一个项目,其他项目的相同关系是什么? P163代码是如何运行的? P168表格 P173如何解决无限循环的问题? P177形参和实参的关系到底是什么? 来源: https://www.cnblogs.com/ZhaoqQiuhan/p/11766215.html

背包九讲

匿名 (未验证) 提交于 2019-12-02 22:56:40
背包九讲 前言 本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划的一部分,这个计划的内容是写作一份较为完善的NOIP难度的动态规划总结,名为《解动态规划题的基本思考方式》。现在你看到的是这个写作计划最先发布的一部分。 背包问题是一个经典的动态规划模型。它既简单形象容易理解,又在某种程度上能够揭示动态规划的本质,故不少教材都把它作为动态规划部分的第一道例题,我也将它放在我的写作计划的第一部分。 读本文最重要的是思考。因为我的语言和写作方式向来不以易于理解为长,思路也偶有跳跃的地方,后面更有需要大量思考才能理解的比较抽象的内容。更重要的是:不大量思考,绝对不可能学好动态规划这一信息学奥赛中最精致的部分。 Ŀ¼ 第一讲 01背包问题 这是最基本的背包问题,每个物品最多只能放一次。 第二讲 完全背包问题 第二个基本的背包问题模型,每种物品可以放无限多次。 第三讲 多重背包问题 每种物品有一个固定的次数上限。 第四讲 混合三种背包问题 将前面三种简单的问题叠加成较复杂的问题。 第五讲 二维费用的背包问题 一个简单的常见扩展。 第六讲 分组的背包问题 一种题目类型,也是一个有用的模型。后两节的基础。 第七讲 有依赖的背包问题 另一种给物品的选取加上限制的方法。 第八讲 泛化物品 我自己关于背包问题的思考成果,有一点抽象。 第九讲 背包问题问法的变化 试图触类旁通、举一反三。 附

一个无后缀文件的入门re题

北城余情 提交于 2019-12-02 11:17:18
文件很简单,无后缀,就无法运行 所以无法拖入od进行动态, 拖入ida神器查看, 就这么点东西,不管那么多先去main函数看看再说 一串汇编代码,刚开始逆向的我也是看不太懂,f5查看伪代码 f5大法好,阅读伪代码直接锁定关键信息,输入的内容与此处数组作比较,如果不相同,则try again,说明什么,说明这个数组的内容就是flag,点进去看看,发现可疑十六进制数字 十六进制在线转码为字符串,得到flag,输入flag,正确! 来源: https://blog.csdn.net/qq_45444695/article/details/102754565