求最大公约数伪代码

欧几里得算法
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。欧几里得算法和扩展欧几里得算法可使用多种编程语言实现。
转化成C语言`/*
欧几里得算法:辗转求余
原理: gcd(a,b)=gcd(b,a mod b)
当b为0时,两数的最大公约数即为a
getchar()会接受前一个scanf的回车符
*/

include<stdio.h>

unsigned int MaxCommonFactor(int a,int b)
{
if(a % b == 0)
return b;
return MaxCommonFactor(b, a % b);
}

unsigned int Gcd(unsigned int M,unsigned int N)
{
unsigned int Rem;
while(N > 0)
{
Rem = M % N;
M = N;
N = Rem;
}
return M;
}

int main(void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("the greatest common factor of %d and %d is ",a,b);
printf("%d\n",Gcd(a,b));
printf("recursion:%d\n",MaxCommonFactor(a,b));
return 0;
}`
(参考https://baike.baidu.com/item/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%AE%97%E6%B3%95/1647675)

伪代码
开始
输入两个数 m,n
比较两个数的大小
用大的数除以小的数
再用除数数以余数
当余数为零时
输出最后的除数
结束

posted @ 2022-10-07 17:16  20221322杨梓然  阅读(73)  评论(0编辑  收藏  举报