算法
grey_csdn
这个作者很懒,什么都没留下…
展开
-
1187_滞环处理的C语言实现
全部学习汇总:GitHub - GreyZhang/c_units: A small piece of code which can be reuse anywhere, I call it a unit. This is a collection of unit in C language! Ok, yes, it would be my toolbox. 滞环处理在嵌入式中经常用到,但是现在我手头并没有一个可以重用或者参考的架构。一般都是直接加入到代码中作为一段代码片段,但是反反复复...原创 2022-02-28 22:27:59 · 2011 阅读 · 0 评论 -
407_C语言十六进制字符串转数字
习惯了拿来主义,有时候遇到问题之后总是考虑是否有库或者现成的东西可用。结果,有些很简单的问题处理起来忘掉了最基础的技巧。 尝试将十六进制的字符串转换成数字,技巧其实很多。为了练手,利用ASCII码表的顺序关系自己做了一个简单的小函数。 实现功能:合理的单个十六进制字符转换成数字; 合理的两位十六进制字符串转数字;根据自己的设计,测试如下: 测试结果如下: 最后,附加我的全部代码如下:...原创 2020-09-23 21:14:01 · 1453 阅读 · 0 评论 -
求取两个数的最大公约数
之前我也实现过最大公约数的求解,采用了一种近乎穷举的方式来实现的。一次坐火车的时候带着高德纳的《计算机编程艺术》第一卷看了下,英语退步的厉害没有看懂太多东西,倒是看到了一个求取最大公约数的算法。看完之后,一下子觉得自己之前的算法是多么差。 下面使用Python简单进行一下算法实现:defCommDevisor(m,n): r = m % n wh原创 2017-07-22 22:07:11 · 1065 阅读 · 0 评论 -
mot文件的单行校验与全局校验
Mot文件在生成的时候是自己带校验的,但是存在的校验都是单行的校验。如果考虑到文件的可靠性,可以进行一下全局的校验。 一种简单的方式可以进行所有的有效数据域的内容校验和校验,然后写入到特定的程序位置。校验的方式可以按照mot本身的校验方式,而写入的位置可以是S7开头的mot内容行。因为S7开头的那行记录的是程序运行记录,而其数据域并没有有效的信息。这样,写入之后就可以做一个全局的校原创 2017-08-01 23:51:12 · 1563 阅读 · 0 评论 -
TAOCP中最大公约数算法理解
TAOCP中,介绍了一个求取最大公约数的算法。假设有两个整数m,n,那么求取两个整数最大公约数的方法如下: E1:m除以n,余数为r; E2:如果r=0,那么最大公约数就是n;否则,进入E3; E3:n的值给m,r的值给n,然后返回E1继续。 算法的主要难点在于:如何论证E3生成的整数对儿的最大公约数为什么与初始的m,n最大公约数一致原创 2017-08-19 16:06:00 · 621 阅读 · 0 评论 -
TAOCP中1.1习题1解答与思考
先大致叙述一下题目: 使用书中给出的标记方法完成数值的序列的替换,比如交换m和n的数值可以通过这样的顺序实现:t ß m,m ß n,m ß t。现在要求用最少的步骤实现一下序列的调换,将(a,b,c,d)调换为(b,c,d,a)。 除了这些要求之外,也没有什么额外的要求。观察上面的序列,其实最简单的一个理解模型是实现一次循环左移的操作。如果是这样,那么比较好的实现原创 2017-08-19 17:22:35 · 697 阅读 · 0 评论 -
辗转相除法求最大公约数
之前总结过一次高德纳TAOCP中的最大公约数求解,其实课后题中的算法修改要求实现的是辗转相除法求解最大公约数。 这个题目我最初的理解理解错了,自然也没有做出标准答案。现在按照标准答案的解答写一下相应的代码实现:defMaxCommDivisor(m,n): while m * n != 0: m = m % n原创 2017-08-19 19:06:30 · 963 阅读 · 0 评论 -
Python实现更相减损术求解最大公约数
先从网上摘录一段算法的描述如下:更相减损法:也叫 更相减损术,是出自《 九章算术》的一种求最大公约数的算法,它原本是为 约分而设计的,但它适用于任何需要求最大公约数的场合。《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”翻译成现代语言如下:第一步:任意给定两个原创 2017-08-19 20:31:59 · 2790 阅读 · 0 评论