求最大公约数 和 最小公倍数 常见算法
Posted Timeashore
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求最大公约数 和 最小公倍数 常见算法相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
int main()
{
int a,b,t,c,m,n;
scanf("%d%d",&a,&b);
m=a; n=b;
//1.辗转相除法求最大公约数
/*while(b!=0)
{
c = a%b;
a = b;
b = c;
}
printf("最大公约数: %d\n",a);//最大公约数
printf("最小公倍数: %d\n",m*n/a);//最小公倍数
*/
//2.相减法。大数减小数,直到相等为止*/
/*
while(a != b)
{
if(a>b)
a = a-b;
else
b = b-a;
}
printf("最大公约数: %d\n",a);//最大公约数 a 和 b相等
printf("最小公倍数: %d\n",m*n/a);//最小公倍数
*/
//3.穷举法求最大公约数(不用判断大小!)
/*
for(t=a;t>0;t--)
{
if(a%t==0 && b%t==0)
break;
}
printf("最大公约数: %d\n",t);
printf("最小公倍数: %d\n",a*b/t);
*/
//多个数的最大公约数和最小公倍数
/*
例子:
for (i= a; i>0; i-- )
if (a%i==0&&b%i==0&&c%i==0) break;
printf("最大公约数: %d\n", i);
for (i= a; ; i++ )
if (i%a==0&&i%b==0&&i% c==0) break;
printf("最小公倍数: %d\n", i )
*/
return 0;
}
以上是关于求最大公约数 和 最小公倍数 常见算法的主要内容,如果未能解决你的问题,请参考以下文章