什么是欧几里得算法
-
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。
-
算法说明:
include <stdio.h>
int euclid(int i, int j);
int main(void){
int number1, number2;
printf("Please enter the number 1: \n");
scanf("%d", &number1);
printf("Please enter the number 2: \n");
scanf("%d", &number2);
printf("两者的最大公约数为: %d", euclid(number1,number2));
}
int euclid(int i, int j)
{
int a;
if ( i>j ){
a=i;
i=j;
j=a;
}/保证 i 小于等于 j/
while ( j%i != 0){/辗转相除/
a = j;
i = j%i;
j = a;
}
return i;
}
伪代码
开始
输入两个数m,n
比较两个数大小
在余数不为零时
用较大的数除以较小的数
再用出现的余数(第一余数)去除除数
余数为零时
输出最后的除数
结束