当前位置: 代码迷 >> C语言 >> [讨论]输入两个整数,求其最大公约数和最小公倍数
  详细解决方案

[讨论]输入两个整数,求其最大公约数和最小公倍数

热度:243   发布时间:2006-11-08 19:16:41.0
[讨论]输入两个整数,求其最大公约数和最小公倍数
请大家用C语言把自己的算法描述一下,互相学习学习怎么样?
搜索更多相关的解决方案: 整数  求其  最大公约数  最小公倍数  输入  

----------------解决方案--------------------------------------------------------
楼主可以给程序咱们看一看,不要求完整,要相信自己才行。
----------------解决方案--------------------------------------------------------

我写了一段代码!写得比较长。
#include <stdio.h>

int main()
{
int a, b, c, d, i, j;

while((scanf("%d%d", &a, &b)) != EOF)
{
c = a > b?b:a;
d = a > b?a:b;
for(i = c;i > 0;i --)
{
if(a%i==0&&b%i==0)
break;
}
for(j = d;j > 0;j ++)
{
if(j%a==0&&j%b==0)
break;
}
printf("%d%4d\n",i ++, j -- );
}

return 0;
}


----------------解决方案--------------------------------------------------------
最大公约数

int gcd(int m,int n)
{
int t;
if(m>n)
{
t=m;
m=n;
n=t;
}
while(n%m!=0)
{
t=n;
n=m;
m=t%m;
}
return m;
}


最小公倍数就是
m*n/gcd(m,n)





----------------解决方案--------------------------------------------------------

最小公倍数

int gcd(int m,int n)
{
int t;
if(m>n)
{
t=m;
m=n;
n=t;
}
t=m;
while(m%n!=0)
{

m=m+t;

}
return m;
}



----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
int a1,b1,a2,b2,temp;
printf("Input the two number:\n");
scanf("%d%d",&a1,&b1);
a2=a1;b2=b1;
while(b1!=0)
{
temp=a1%b1;a1=b1;b1=temp;
}
printf("%d\n",a1); /*最大公约数*/
printf("%d\n",a2*b2/a1); /*最小公倍数*/
}
----------------解决方案--------------------------------------------------------

算法一(辗转相除):
f1(x,y)
{
a=x;b=y;
t=a%b;
if(t!=0)
{
a=b;b=t;t=a%b;
}
printf("%d\n",b); /*最大公约数*/
printf("%d\n",x*y/b); /*最小公倍数*/
}

算法二(辗转相减):
f2(x,y)
{
a=x;b=y;
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
printf("%d\n",a); /*最大公约数*/
printf("%d\n",x*y/a); /*最小公倍数*/
}


----------------解决方案--------------------------------------------------------
不会
----------------解决方案--------------------------------------------------------
不懂做。。刚学。。

----------------解决方案--------------------------------------------------------
要想健壮性才对。试下列数
1 0
0 1
1 1
0 0
8 8
1 8
8 1
看看乎不乎合。
----------------解决方案--------------------------------------------------------
  相关解决方案