编程求两个整数的最大公约数和最小公倍数

用c语言编写,要求:用一个函数(func1)求最大公约数,用另一函数(func2)根据求出的最大公约数求最小公倍数。两个整数在主函数中输入,并传送给函数func1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数func2,求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。

#include <stdio.h>

/* 最大公约数 */
int GreatestCommonDivisor ( int m, int n )
{
int r;
do
{
r = m % n;
m = n;
n = r;
} while ( r != 0 );
return m;
}

/* 最小公倍数 */
int LeastCommonMultiple ( int m, int n )
{
return m / GreatestCommonDivisor ( m , n ) * n;
}

int main (void)
{
int m, n;
printf ("请输入两个数字:" );
scanf ( "%d%d", &m, &n );
printf ("最大公约数是%d。\n", GreatestCommonDivisor(m, n) );
printf ("最小公倍数是%d。\n", LeastCommonMultiple(m, n) );
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-21
/*
输入正整数a,b:15,35
最大公约数:5
最小公倍数:105
Press any key to continue
*/
#include<stdio.h>

int MaxSubmultiple(int a, int b) {
int i,t = (a > b) ? b : a;
for(i = t; i > 1; --i)
if((a%i == 0) && (b%i == 0))
return i;
return 1;
}

int MinMultiple(int a, int b) {
return a * b / MaxSubmultiple(a,b);
}

int main() {
int a,b;
printf("输入正整数a,b:");
scanf("%d,%d",&a,&b);
printf("最大公约数:%d\n",MaxSubmultiple(a,b));
printf("最小公倍数:%d\n",MinMultiple(a,b));
return 0;
}本回答被网友采纳
第2个回答  2012-04-21
#include<stdio.h>
int func1(int x,int y) /*最大公约数*/
{
return (!y)?x : func1(y , x%y);
}
int func2(int max,int x,int y)
{
if(max==1)
return x*y;
else
return max*(x>y?y:x);
}
void main()
{
int x,y;
scanf("%d%d\n",x,y);
int max=func1(x,y);
int min=func2(max,x,y)
printf("%d\n%d",max.min);
}

参考资料:return

第3个回答  2020-02-02
1234567891011121314151617181920212223242526272829303132333435363738/************************************** * 求两数的最大公约数和最小公倍数 * * C语言源代码 * * 作者 yjf_victor * 2013年6月18日 **************************************/ #include <stdio.h> /* 最大公约数 */int gcd ( int m, int n ){ int r; do { r = m % n; m = n; n = r; } while (r != 0); return m;} /* 最小公倍数 */int lcm ( int n, int m ){ return m / gcd(m, n) * n;} int main(void){ int m, n; scanf("%d%d", &n, &m); printf("最大公约数:%d\n", gcd(m, n)); printf("最小公倍数:%d\n", lcm(m, n)); return 0;}
第4个回答  2012-04-22
输入正整数a,b:15,35
最大公约数:5
最小公倍数:105
Press any key to continue

#include<stdio.h>
相似回答