云杉种群生态学 下载:c语言怎样求多个数的最大公约数和最小公倍数

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:42:42
怎样求多个数的最大公约数和最小公倍数

用循环,
最大公约数,任选一个数,从该数开始递减,验证是否能被全部的数整除,如能,即得最大公约数
最小公倍数,任选一个数,从该数开始递增,验证是否能整除全部的数,如能,即得最小公倍数

设有n个数,先求最后两个数的最大公约数,然后用其当做最后一个数(这时数列中还剩n-1个数,即把刚刚已经求完公约数的两个数用它们的公约数来取代,变成一个数),如此循环下去,直到数列中还剩一个数,这就是这n个数的最大公约数。
最小公倍数同理。

我有个笨方法。如果求n个数的最大公约数,就先求第1个和第2个数的最大公约数,第2个和第3个数的最大公约数......第n-1个和第n个的最大公约数,共n-1个数,再对这n-1个数同样求出n-2个最大公约数,逐层推进,直到求出最后一个最大公约数。这个过程中,一旦得到1是某两个数的最大公约数,则直接停止,结果为1。
最小公倍数同理。

可以循环调用函数,就可以了吧