用C语言编写一个可以求输入的两个数的最大公约数和最小公倍数的程序。

如题所述

第1个回答  2019-05-18
你可以编写一个程序,实现辗转相除法(欧几里得算法),来求得最大公约数,然后用两个数相乘再除以最大公约数来,得到最小公倍数。
#include
int
main()
{
int
a,
b,
c;
//a,
b就是m和n,c是余数
int
ta,
tb;
//用来记录a,b的临时值
int
maxgys,mingbs;
printf("请输入两个数:
");
scanf("%d%d",&a,&b);
ta
=
a;
tb
=
b;
if(ta
>
tb)
{ta
=
b;
tb
=
a;}
c
=
tb
%
ta;
while(c!=
0){
tb
=
ta;
//辗转相除的过程
ta
=
c;
c
=
tb
%
ta;
}
printf("%d和%d的最大公约数是:
%d\n",
a,
b,
ta);
printf("%d和%d的最小公倍数是:
%d\n",
a,
b,
a
*
b
/
ta);
return
0;
}
第2个回答  2019-05-22
#include
void
main()
{
int
m,n,k,min,max,i;
scanf("%d%d",&m,&n);
if(n
0;i++)
{
if((m%i==0)&(n%i==0))
{
max=i;
break;
}
}
min=m*n/max;
printf("%d和%d的最大公约数是%d\n",m,n,max);
printf("%d和%d的最小公倍数是%d\n",m,n,min);
}
这个是我的程序,其中利用了最小公倍数是两个数的乘积除以最大公倍数,希望能够帮到你。

C语言——求最大公约数和最小公倍数的简单程序
本文讲解一下利用C语言求两个数字的最大公约数以及最小公倍数的方法。首先打开编译器,这里用的是VC++6.0,然后新建工程,选择下方的控制台应用程序,也就是“win32 console application”。然后新建一个文件,选择“C++ source file”,然后输入文件名,点击确定。接着输入如图所示的代码,注意检查看有...

输入两个正整数,求其最大公约数和最小公倍数。
num1 = num2; \/\/8 7 num2 = t; \/\/7,循环继续 1 } p = p \/ num2;printf("它们的最大公约数:%d\\n", num2);printf("它们的最小公倍数:%d\\n", p);return 0;} 结果:请输入两个正整数:3,6 它们的最大公约数:3 它们的最小公倍数:6 ...

C语言如何求两个数的最大公约数和最小公倍数
printf("最大公约数=%d\\n",gcd(a,b));printf("最小公倍数=%d\\n",lcm(a,b));return 0;}

...从键盘上输入的两个整数,求两个数的最大公约数和最小公倍数,并...
printf("最大公约数:%d\\n",b);printf("最小公倍数:%d\\n",c\/b);return 0;}

[C语言]编程:输入两个正整数,求其最大公约数和最小公倍数
int main(){ int m, n;int gcd, lcm;scanf("%d%d", &m, &n);gcd = m < n ? m : n;lcm = m > n ? m : n;do { if(m % gcd == 0 && n%gcd==0)break;gcd--;}while(1);do { if(lcm % m == 0 && lcm % n==0)break;lcm++;}while(1);printf("gcd=%d ...

用c语言编程输入两个整数,求其最大公约数和最小公倍数
include"stdio.h"main(){ int m,n,t,h,a,b,q;printf("输入m,n的值:");scanf("%d%d",&m,&n);a=m;b=n;if (n>m) {t=m;m=n;n=t;}while (m%n!=0){ h=n;n=m%n;m=n;}a=a\/n;b=b\/n;q=a*b*n;printf("两数最大公约数为 %d,最小公倍数为 %d\\n",n...

c语言如何求两个数的最大公约数?
include <stdio.h> int main(){ int m,n,c,d,t;printf("请输入两个数:\\n");scanf("%d%d",&m,&n);if(m<n){ t=m;m=n;n=t;} d=m*n;c=m%n;while(c!=0){ m=n;n=c;c=m%n;} printf("最大公约数是:\\n%d\\n",n);printf("最小公倍数是:\\n%d\\n",d\/n);} ...

c语言编程,求两个数的最大公约数和最小公倍数
printf("请输入第一个数的值:");scanf("%d",&m);printf("请输入第二个数的值:");scanf("%d",&n);if(n>m){ temp=m;m=n;n=temp;} i=n;while(i%m!=0){ i=i+n;} printf("最小公倍数是:%d \\n",i);r=m%n;while(r!=0){ m=n;n=r;r=m%n;} printf("最大公约...

C语言函数编写,求两个整数的最大公约数和最小公倍数
编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:include<stdio.h> include<math.h> int fun_gy(int,int); \/\/声明最大公约数函数 int fun_gb(int,int); \/\/声明最小公倍数函数 main(){ int a,b,gy,gb;printf("输入两个...

c语言编程:输入两个正整数,求最大公约数和最小公倍数
printf("它们的最大公约数为:%d\\n",n);printf("它们的最小公约数为:%d\\n",p\/n);return 0;} 方法二、\/\/穷举法解两个数的最大公约数和最小公倍数 void exp(int num1,int num2){ int x,y,i;x=num1;y=num2;int max=0;\/\/最大公约数 for(i=1;i<=num1;i++)if(num1%i==0...

相似回答