摘要:
最大公约数(greatest common divisor,简写为gcd。最简单的是求2个整数的最大公约数。常见的算法是辗转相除法。辗转相除法,又称欧几里得算法。结果为非零的除数即为最大公约数。原理及其详细证明 设两数为a、b(b<a),用gcd(a,b)表示a,b的最大公约数,r=a mod b 为a除以b以后的余数,辗转相除法即是要证明gcd(a,b)=gcd(b,r)。 第一步:令c=gcd(a,b),则设a=mc,b=nc 第二步:根据前提可知r =a-kb=mc-knc=(m-kn)c 第三步:根据第二步结果可知c也是r的因数 第四步:可以断定m-kn与n互素【否则,可设... 阅读全文
随笔分类 - 算法---迭代法(辗转法)
迭代法 详解
2012-04-27 12:32 by youxin, 6180 阅读, 收藏, 编辑
摘要:
迭代法(iteration)也称辗转法,是一种不断用变量的旧值递推出新值的解决问题的方法,迭代算法一般用于数值计算。累加,累乘都是迭代算法的基础应用。利用迭代法解题的步骤:1)确定迭代模型 根据问题描述,分析出前一个(或几个)值与下一个值的迭代关系数学模型。2)建立迭代关系式 递推数学模型一般是带下标的字母,算法设计中要将其转化为“循环不变式”----迭代关系式,迭代关系式就是一个直接或间接地不断由旧值递推出新值的表达式,存储新值的变量称为迭代变量。3)对迭代过程进行控制。 确定在什么时候结束迭代过程。迭代过程是通过小规模问题的解逐步求解大规模问题的解,表面上看正好与递归相反,但也找到了大规模 阅读全文