当前位置: 代码迷 >> C语言 >> [求助]习题的问题,大家看看
  详细解决方案

[求助]习题的问题,大家看看

热度:153   发布时间:2007-02-09 13:03:28.0
[求助]习题的问题,大家看看
输入2个正整数M和N, 求其最大公约数和最小公倍数。
我的思路不是很清晰。
#include<stdio.h>
void main()
{
int m, n, i, j, x, y, max;
printf("Please enter 2 numbers: \n");
scanf("%d %d", &m, &n);
if (m<n)
{
for (i = m, x = n%i; i > 0, x != 0; i--)//这里我是想用n来和较小的m来求比m小的一个能够被n整除的数
{
for (j = i, y = m%j; j > 0, y != 0; j--)//在这里再用上面求到的这个数和m来除,求得最大公约数
max = j;
}//但是跳出循环有问题啊,不能在我要求的情况下跳出循环
}
else
{
for (i = n, x = m%i; i > 0, x != 0; i--)
{
for (j = i, y = n%j; j > 0, y != 0; j--)
max = j;
}//
}
printf("这2个数的最大公约数是:%d\n", max);
}
这里只做了最大公约数的部分,大家帮忙看看,帮我重新写一个来借鉴一下也可以,谢谢了
搜索更多相关的解决方案: 习题  

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

路过,顶上


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

算法一(辗转相除):
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); /*最小公倍数*/
}
这是我看别人写的一个程序,但其中数学运算思想我不是很懂..


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

这是我写的,最小公倍数的程序代码...

新手,请指教...
#include<stdio.h>
main()
{ int a,b,c,i,j;

printf("please input two number\n");
scanf("%d%d",&a,&b);
if(a-b>0)

c=a;
else
c=b;


for(i=c;i<1000;i++)
{
if(i%a==0 && i%b==0)
{
j=i;

printf("gong bei shu is%d\n",j);
break;
}
}

};


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

#include<stdio.h>
main()
{ int a,b,c,flag;
printf("please input two number\n");
scanf("%d%d",&a,&b);
if(a-b>0)

c=a;
else
c=b;

while(flag)
{
if(c%a==0 && c%b==0)
{
flag=0;
printf("gong bei shu is:%d\n",c);

}
else
c++;
}

}
给楼上的改了一下...


----------------解决方案--------------------------------------------------------
三楼有个小错误 应当是 else a=b-a; 吧

----------------解决方案--------------------------------------------------------
三楼的算法是纯数学的  数学学的不好不太明白原理  但你拿几个数试试就明白个大概了
----------------解决方案--------------------------------------------------------
  相关解决方案