随笔 - 43, 文章 - 0, 评论 - 1, 阅读 - 3139

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

最大公约数

Posted on   20221301  阅读(11)  评论(0编辑  收藏  举报

什么是欧几里得算法

  • 欧几里得算法又称辗转相除法,是指用于计算两个非负整数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
比较两个数大小
在余数不为零时
用较大的数除以较小的数
再用出现的余数(第一余数)去除除数
余数为零时
输出最后的除数
结束

运行结果

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示