61阅读

c语言求最大公约数-请用C语言编程求两个数的最大公约数和最小公倍数,要求两个整数从键?

发布时间:2018-02-06 所属栏目:c语言求最大公约数

一 : 请用C语言编程求两个数的最大公约数和最小公倍数,要求两个整数从键?

请用C语言编程求两个数的最大公约数和最小公倍数

请用C语言编程求两个数的最大公约数和最小公倍数,要求两个整数从输入,谢谢


一楼的回答不对啊,你求的是最小公约数而不是最小公倍数,两个整数的最小公约数永远是1,应该这样改:

main()

{

int x,y,a,m,n,t;

printf("please input two num x,y\n");

scanf("%d,%d",&x,&y);

for(a=x0;a--)

if(x%a==0&&y%a==0)

{

printf("x,y的最大公约数是 %d\n",a);

break;

}

m=x/a;

n=y/a;

t=a*m*n;

printf("x,y的最小公倍数是 %d\n",t);

}

二 : C语言“求最大公约数和最小公倍数”源代码

写2个函数,分别求2个整数的最大公约数和最小公倍数,用主函数调用这2个函数,并输出结果。2个整数由键盘输入。

#include<stdio.h>
void main()
{
int gcd(int x,int y);
int gcf(int x,int y);
intm,n,a,b,tend;
printf("Enter two integer:");
scanf("%d%d", &m, &n);
if(m<n)
{
tend=n;
n=m;
m=tend;
}
a=gcd(m,n);
b=gcf(m,n);
printf("最大公约数: %d\n", a);
printf("最小公倍数: %d\n", b);
}

int gcf(int x,int y)
{
int gcd(int,int);
int t;
t=x*y/gcd(x,y);
return(t);
}

int gcd(int x,int y)
{
int res;
res=x%y;[www.61k.com]
while (x%y!=0)
{
x=y;
y=res;
res=x%y;
}
return (y);
}

三 : C语言中求最大公约数的两种方法

/*辗转相减法*/

#include"stdio.h" int fun(int m,int n) {

while(m!=n) {

if(m>n)

m=m-n; else

n=n-m; }

return n;

}

void main()

{

int a,b;

printf("input a ,b\n"); scanf("%d,%d",&a,&b); printf("%d",fun(a,b)); }

/*辗转相除法*/

#include"stdio.h" int fun1(int m,int n) {

int r,t;

if(m<n)

{

t=m;m=n;n=t; }

r=m%n;

while(r)

{

m=n;

n=r;

r=m%n; }

return n;

}

void main()

{

int a,b;

printf("请输入两个整数\n"); scanf("%d,%d",&a,&b); printf("%d\n",fun1(a,b)); }

本文标题:c语言求最大公约数-请用C语言编程求两个数的最大公约数和最小公倍数,要求两个整数从键?
本文地址: http://www.61k.com/1133046.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1