写两个函数,分别求最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
作者:互联网
个人比较喜欢用辗转相除法求最大公约数
算法如下
if v>u
将变量u与v的值互换(使较大者u为被除数)
while(u/v的余数r≠0)
{u=v; (使除数v变为被除数u)
v=r; (使余数r变为除数v)
}
输出最大公约数r
最小公倍数l=u*v/最大公约数r
1 #include <stdio.h> 2 int Hcf,Lcd; //Hcf和Lcd是全局变量 3 4 int main() 5 { 6 void hcf(int,int); 7 void lcd(int,int); 8 int u,v; 9 scanf("%d,%d",&u,&v); 10 hcf(u,v); //调用hcf函数 11 lcd(u,v); //调用lcd函数 12 printf("H.C.F = %d\n",Hcf); 13 printf("L.C.D = %d\n",Lcd); 14 return 0; 15 } 16 17 void hcf(int u,int v) 18 { 19 int t,r; 20 if(v>u) {t=u;u=v;v=t;} 21 22 while((r=u%v)!=0) 23 { 24 u=v; 25 v=r; 26 } 27 Hcf=v; 28 } 29 30 void lcd(int u,int v) 31 { 32 Lcd=u*v/Hcf; 33 }
标签:两个,函数,公倍数,void,lcd,int,Lcd,Hcf,hcf 来源: https://www.cnblogs.com/JIeJaitt/p/14940655.html