
编程之美
sunshineofbeach
脚踏实地
展开
-
最大公约数问题
最大公约数是个很基本的问题。欧几里德在他的著作里面给出了很高效的解法,辗转相除法。假设f(x,y)表示x,y的最大公约数,取k=x/y,b=x%y,那么x=ky+b,这个能说明什么问题呢?如果一个数能整除x和y,那么这个数也必定能整除y和b,并且x和y的最大公约数和y和b的最大公约数是相同的。于是就有公式f(x,y)=f(y,x%y),于是就把原问题的最大公约数转化为两个更小数的最大公原创 2015-01-17 20:55:13 · 656 阅读 · 0 评论 -
计算字符串的相似度
问题许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:1.修改一个字符(如把“a”替换为“b”)。2.增加一个字符(如把“abdd”变为“aebdd”)。3.删除一个字符(如把“travelling”变为“traveling”)。比如,对于“abcdefg”和“abcdef”原创 2015-01-18 17:00:17 · 687 阅读 · 0 评论