
经典算法
qq_36461882
学生
展开
-
经典算法 递归求斐波那契数列
斐波那契数列的思想是:第0项的值为0,第1项的值为1,从第2项开始,值为前两项的和。 fb(n)=fb(n-1)+fb(n-2); 可见,之后的每项需借用之前每项的结果,可以用递归的方法解决这个问题。 代码如下: int fb (int n) { if (n == 0) return 0; if (n == 1) return 1; return fb(n - 2) + fb...原创 2018-07-29 18:56:37 · 1062 阅读 · 0 评论 -
经典算法 欧几里得算法(辗转相除法)
欧几里得算法,思路如下: 如果给两个整数x,y。假设在x>y的情况下: x%y=b 代表的是x除以y的余数是b 假设它们的最大公约数是r,x是r的整数倍,y也是r的整数倍,那么: b要么是0,代表y是两者的最大公约数,要么就是r的整数倍,而且b还比y小 那么就可以让问题简化,所以 方法: fb(x,y)=fb(y,x%y) (x>=y) 直到b也就是x%y为0时,求...原创 2018-07-29 19:36:10 · 499 阅读 · 0 评论