欧几里得
求两个数的最大公约数,可以用到欧几里得公式:gcd(a,b)=gcd(b,a mod b),直接给个例子:15和10的最大公约数为5。作法:先给个中间数c,c=15%10为5,然后将10赋值给a,c的值赋值给b,此时a=10,b=5。之后c=10%5为0,继续将b的值赋值给a,c的值赋值给b,此时a=5,b=0。结束的条件是b=0.
代码如下:
结果如下:
代码:
#include<stdio.h>
int gcd(int x, int y)
{
while (y != 0)
{
int z = x % y;
x = y;
y = z;
}
printf(“最大公约数为:%d\n”, x);
return 0;
}
int main()
{
int a = 10;
int b = 15;
gcd(a, b);
return 0;
}