int GCD(int a,int b);//返回两数的最大公约数
int LeastCommonMultiple(int a[],int low,int high)//递归求一组数的最小公倍数
{
if((high-low)==1)//区间元素为一个
return a[low];//返回该元素
else
{
int mid=(high+low)/2;
int gds_l=LeastCommonMultiple(a,low,mid);//得到左区间的最小公倍数
int gds_r=LeastCommonMultiple(a,mid,high);//得到右区间的最小公倍数
int gds=(gds_l*gds_r)/GCD(gds_l,gds_r);//求合区间的最小公倍数
//两数的最小公倍数=两数之积/两数的最大公约数
return gds;//返回合区间的最小公倍数
}
}
求一数组一段区间的最小公倍数递归的代码(二分法)
最新推荐文章于 2022-02-19 23:49:34 发布
本文介绍了一种使用递归方法求解一组整数最小公倍数的算法实现。通过将问题分解为左右两个子区间,分别计算各自区间的最小公倍数,再利用最大公约数计算整个区间最小公倍数。
&spm=1001.2101.3001.5002&articleId=65004465&d=1&t=3&u=114e66eb652740329a3c53d500845bfd)
1万+

被折叠的 条评论
为什么被折叠?



