一 : 请用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=x
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语言编程求两个数的最大公约数和最小公倍数,要求两个整数从键?61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1