您的位置:首页 > 其它

最大公约数和最小公倍数

2017-07-20 22:01 218 查看
方法一:

#include<stdio.h>

int revers(int a, int b)

{
int tem = 0;
if (a < b)
{
tem = a;
a = b;
b = tem;
}

}

int main()

{
int num1, num2;
int num11, num22;
int lcm=0;
int r=0;
printf("请输入两个正整数:\n");
scanf_s("%d%d", &num1, &num2);
num11 = num1;
num22 = num2;
revers(num11, num22);
while (num11%num22!=0)
{
r = num11%num22;
num11 = num22;
num22 = r;
}

printf("%d为%d和%d的最大公约数\n", num22, num1, num2);
lcm = num1*num2 / num22;
printf("%d为%d和%d的最小公倍数\n", lcm, num1, num2);
system("pause");

}

方法二:

#include<stdio.h>

int main()

{
int num1, num2;
int gcd=0, lcm=0;
int min = 0, i = 0;
printf("请输入两个正整数:\n");
scanf_s("%d%d", &num1, &num2);
min = (num1 <num2 ? num1 : num2);
for (i = 2;i <= min; i++)
{
if ((num1%i == 0) && (num2%i == 0))
{
gcd = i;
}
}
if (gcd != 0)
{
printf("%d为%d和%d的最大公约数\n", gcd, num1, num2);
lcm = num1*num2 / gcd;
printf("%d为%d和%d的最小公倍数\n", lcm, num1, num2);
}
else if (gcd == 0)
{
printf("1是%d和%d最大公约数\n", num1, num2);
lcm = num1*num2;
printf("%d为%d和%d的最小公倍数\n", lcm, num1, num2);
}

system("pause");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: