技术学习分享_一航技术 技术资讯 辗转相除法(求最小公倍数)

辗转相除法(求最小公倍数)

广告位
#include <stdio.h>
int main( )
{
int m = 0;
int n = 0;
//输入
scanf("%d %d", &m, &n);
int k = (m > n ? n : m);
while (k = m % n)//辗转相除法
{
m = n;
n = k;
}
printf("%d", n);
return 0;
}

用辗转相法 ,使得程序变得更简单

用平常的求最小公被数,则程序复杂:

#include <stdio.h>
int main()
{
int m = 0;
int n = 0;
scanf("%d %d", &m, &n);
int k = (m > n ? n : m);
while (1)
{
if (m % k == 0 && n % k == 0)
{
break;
}
k--;
}
printf("%d", k);
return 0;
}

本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部