您的位置:首页 > 编程语言 > C语言/C++

求最大公约数,最小公倍数(C语言实现)

2007-10-19 10:04 337 查看
/*


程序:求最大公约数,和最小公倍数


时间:2007年10月8日


名称:maxandmin.c




方法:


1.先求出最大公约数,用辗转相除法


2.再通过最大公约数来求最小公倍数


3.min = (m/max)*(n/max)*max=(m*n)/max (说明:max为所求得的最大公约数,min为所求得的最小公倍数


*/




#include <stdio.h>




int main(void)




...{




int m,n; /**//*m,n为输入数据,目的是求解m和n的最大公约数以及最小公倍数*/


int i,t,min=0,max=0;




printf("Please input the num(m and n): ");


scanf("%d %d",&m,&n);




t = m*n ;




if (n== 0 || m == 0 )




...{


printf("Your data is wrong!!! ");


exit(1);


}


if ( m % n == 0 )




...{


max = n ;


min = m ;


goto end ;


}


else if ( n % m == 0)




...{


max = m ;


min = n ;


goto end ;


}






while ( n != 0 ) /**//*辗转相除法:除数作为被除数,余数作为除数,当除数为:0时,被除数就是最大公约数*/




...{


i = m % n ;


m = n ;


n = i ;




}




max = m ;


min = t / max ;




end:


printf("max= %d , min = %d ",max,min);




system("pause");






return 0 ;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: