最大公约数与最小公倍数C++算法入门资料
最大公约数和最小公倍数的 C++算法,逻辑清晰、代码也挺好懂的,适合你用来入门欧几里得算法。讲的是两数相除取余反复迭代,直到余数为 0,挺实用的一种方法。还顺带教你怎么算最小公倍数,公式也给了,m * n / 最大公约数
,简单粗暴,好记。
欧几里得算法的代码不长,基本是个while
循环:
while (r = m % n) {
m = n;
n = r;
}
逻辑就一件事:不断替换m
和n
直到余数为 0,那个n
就是最大公约数,真的蛮好用。
如果你想拓展点思路,还有不少相关文章,比如 Python、VB 语言的版本都有,学一学横向比较也挺有意思的。还有配套的习题链接,写完印象会更深。
,不管你是刚学 C++,还是回炉复习,最大公约数这块一定得掌握牢。嗯,记住那个m % n
的写法,多练几遍就顺手了。
如果你对不同语言怎么写同一个算法感兴趣,可以看看下面这几个:
如果你刚好在整理一套基础算法资料库,这一篇你可以直接打包收进去了,绝对是高频面试题素材。
8.81MB
文件大小:
评论区