求最大公約數與最小公倍數

寫兩個函數,分別求兩個整數的最大公約數和最小公倍數,用主函數調用這兩個函數,並輸出結果.兩個整數由鍵盤輸入.

 

#include<stdio.h>
int gy(int x,int y)    //gy爲最大公約數
{
 int m,n,i;
 for(i=1;i<=x/2;i++)
 {
  if(x%i==0)
   m=i;
  if(y%m==0)
   n=m;
 }
 return n;
}
int gb(int x,int y)   //gb爲最小公倍數
{
 int m,n,i,a;
 for(i=1;i<=x/2;i++)
 {
  if(x%i==0)
   m=i;
  if(y%m==0)
   n=m;
  a=n*(x/n)*(y/n);
 }
 return a;
}
int main()
{
 int x,y;
 scanf("%d%d",&x,&y);
 printf("x,y的最大公約數爲:%d",gy(x,y));
 printf("x,y的最小公倍數爲:%d",gb(x,y));
 return 0;
}
 
這是我寫的最順利的一個,一次成功,用的時間相比較以前已經很快了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章