习题集

最大公约数与最小公倍数的问题

/*最大公约数,和最小公倍数*/
#include <stdio.h>
int gcd(int m,int n)
{
 int r;
 while (n!=0)
 { 
  r=m%n;
  m=n;
  n=r;
 }
  return m;
}


main()
{
 int x,y,m;
 printf("Please input two numbers \n");
 scanf("%d%d",&x,&y);
 m=gcd(x,y);
 printf("The gongyushu is %d\n",m);

}

 两个数的乘积除以最大公约数就是两个数的最小公倍数,即:m*n/gcd(m,n)

再说下穷举法 就不写完了
for(n=(a+b)/2;n>0;n--)
{
if((a%n==0)&&(b%n==0)) break;
}
m=a*b/n;
n便是公约 m便是公倍

 

 

posted @ 2009-04-05 11:59  ThirdEye  阅读(132)  评论(0编辑  收藏  举报