#includestdio.h
創(chuàng)新互聯(lián)公司致力于成都做網(wǎng)站、網(wǎng)站設(shè)計,成都網(wǎng)站設(shè)計,集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場競爭中脫穎而出。 選擇創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
int gcd(int m, int n);
int lcd(int m, int n);
int main()
{
int a, b;
printf("輸入兩個正整數(shù):");
scanf("%d%d", a, b);
printf("%d 和 %d 最大公約數(shù)為%d\n", a, b, gcd(a, b));
printf("最小公倍數(shù)為:%d\n", lcd(a, b));
}
int gcd(int m, int n)
{
int t;
if (mn)
{
t = m;
m = n;
n = t;
}
while (n != 0)
{
t = m%n;
m = n;
n = t;
}
return m;
}
int lcd(int m, int n)
{
int t;
t = m*n / gcd(m, n);
return t;
}
最大公倍數(shù)??
有最大公約數(shù)和最小公倍數(shù),沒有最大公倍數(shù)。
***************************
網(wǎng)友pbjhyl的說法有嚴(yán)重錯誤!
printf()函數(shù)不需要取地址。
這個程序有算法錯誤,最小公倍數(shù)=兩個數(shù)之積 / 最大公約數(shù)
修改如下:
#include stdio.h
#include stdlib.h
int MinCommonMultiple(int m,int n)
{
int s,ys=1;
s=m*n;
while(ys)
{
ys=m%n;
m=n;
n=ys;
}
return s/m;
}
main()
{
int m,n;
int mincommonmultiple;
printf("Please enter the number mn:");
scanf("%d,%d",m,n);
mincommonmultiple=MinCommonMultiple(m,n);
printf("mincommonmultiple=%d\n",mincommonmultiple);
system("pause");
}
int fun1(int n1,int n2) //fun1利用fun2求出的最大公約數(shù)求最小公倍數(shù)
{int gbs1;
gbs1= n1*n2/fun2(n1,n2); //gbs1為最小公數(shù)=兩數(shù)積除以最大公約數(shù)(fun2(n1,n2))
return(gbs1);
}
int fun2(int u,int v)
{int t,r;
if(vu) //如果uv,u,v互換 后面要用u/v,的大的出以小的
{t=u;u=v;v=t;}
while((r=u%v)!=0) //碾除法求最大公約數(shù)
{u=v;v=r;}
return(v);
}
main()
{int num1,num2,gbs;
printf("input 2 numbers:");
scanf("%d%d",num1,num2);
gbs=fun1(num1,num2);
printf("gbs=%d\n",gbs);
}