/*
程序:求最大公约数,和最小公倍数
时间: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 ;
}
本文介绍了一个简单的C程序,该程序使用辗转相除法计算两个整数的最大公约数(GCD),并利用计算出的最大公约数进一步求解这两个整数的最小公倍数(LCM)。
1588

被折叠的 条评论
为什么被折叠?



