最大公约数和最小公倍数
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");
}
#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");
}
相关文章推荐
- 最大公约数和最小公倍数
- C++/C经典算法百题--(39-42)年龄几何,三色球问题,两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 一步一步写算法(之 最大公约数、最小公倍数)
- 求两个整数的最小公倍数和最大公约数的算法及其C++实现
- 最大公约数与最小公倍数
- 常见算法:C语言求最小公倍数和最大公约数的算法
- java最大公约数与最小公倍数
- 最大公约数与最小公倍数
- 最大公约数和最小公倍数
- 常见算法:C语言求最小公倍数和最大公约数 辗转相除法
- 最大公约数 与 最小公倍数
- C语言进阶之路------函数调用之辗转相除法求两个数的最小公倍数和最大公约数
- 求两数最大公约数和最小公倍数
- 最大公约数和最小公倍数问题
- 辅导资料 整数的基本性质与应用(最大公约数 最小公倍数 素数 )
- C++实验7——最大公约数和最小公倍数
- 求最小公倍数与最大公约数
- 最小公倍数和最大公约数
- 8.最大公约数和最小公倍数问题
- 最大公约数和最小公倍数