1.求最大公约数
1.暴力法
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int tmp = a > b ? b : a;
while (1)
{
if (a % tmp == 0 && b % tmp == 0)
{
break;
}
else
tmp--;
}
printf("%d", tmp);
return 0;
}
2.辗转相除法
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
while (1)
{
int c = a % b;
if (a % b == 0)
{
break;
}
else
{
a = b ;
b = c;
}
}
printf("%d就是最大公约数", b);
return 0;
}
3.更相减损数
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
while (1)
{
if (a == b)
{
break;
}
if (a > b)
{
a = a - b;
}
if (b > a)
{
b = b - a;
}
}
printf("最小公约数数是%d", a);
return 0;
}
2.求最小公倍数
1.暴力法
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
//计算a和b的最小公倍数
int m = (a > b ? a : b);
while (1)
{
if (m % a == 0 && m % b == 0)
{
break;
}
m++;
}
printf("%d\n",m);
return 0;
}
2.累乘法
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int i = 1;
while (a * i % b)
{
i++;
}
printf("%d\n", a * i);
return 0;
}