首页 > 其他 > 详细

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

时间:2021-06-27 17:02:49      阅读:24      评论:0      收藏:0      [点我收藏+]

个人比较喜欢用辗转相除法求最大公约数

算法如下

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 }

 

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

原文:https://www.cnblogs.com/JIeJaitt/p/14940655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!