写两个函数,分别求两个整数的最大公约数和最小公倍数(C语言)
题目要求:现在有两个整数a和b,需要求它们的最大公约数和最小公倍数
思路:
- 首先,我们可以设定整数i,将a或者b赋值给i
- 然后,使i递减循环(i>=1),当a和b能同时被i整除时,跳出循环
- 此时的i就是最大公约数
- 最小公倍数=a*b/最大公约数
以下是具体代码:
#include <stdio.h>
int main()
{
int greatest_common_divisor(int a, int b);
int lowest_common_multiple(int a, int b);
int divisor,multiple;
int x,y;
printf("Please enter two integers: ");
scanf("%d %d",&x,&y);
divisor=greatest_common_divisor(x, y);
multiple=lowest_common_multiple(x, y);
printf("The greatest common divisor: %d\nThe lowest common multiple: %d\n",divisor,multiple);
return 0;
}
int greatest_common_divisor(int a, int b)
{
int gcd,i;
for(i=a;i>=1;i--)
if(a%i==0 && b%i==0)
break;
gcd=i;
return(gcd);
}
int lowest_common_multiple(int a, int b)
{
int lcm,i;
for(i=a;i>=1;i--)
if(a%i==0 && b%i==0)
break;
lcm=a*b/i;
return(lcm);
}
本文介绍了如何使用C语言编写两个函数,分别求两个整数的最大公约数(GCD)和最小公倍数(LCM)。通过循环找到能同时整除a和b的最小正整数i作为GCD,然后计算LCM为a*b/GCD。文中给出了详细实现代码。

2万+

被折叠的 条评论
为什么被折叠?



