首页 > 其他分享 >最大公约数

最大公约数

时间:2022-10-06 14:33:13浏览次数:76  
标签:relevant int blog pc 最大公约数 余数

什么是欧几里得算法

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

运行结果

标签:relevant,int,blog,pc,最大公约数,余数
From: https://www.cnblogs.com/bky20221301/p/16757569.html

相关文章

  • 求最大公约数
    思路:计算a对b的余数,然后让a=bb=余数,如果余数不为0继续进行运算,直到余数为0,此时a为两数最大的公约数。(辗转相除法)代码: #include<stdio.h>intmain(){ inta,b; intt=0......
  • 求最大公约数伪代码
    1.什么是求两个数的最大公约数的欧几里得算法(辗转相除法)欧几里得算法是用来求两个正整数最大公约数的算法。古希腊数学家欧几里得在其著作《TheElements》中最早描述了这......
  • 求最大公约数
    求最大公约数欧几里得算法:欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b)=gcd(b,amodb)。......
  • 求最大公约数伪代码
    欧几里得算法求最大公约数伪代码欧几里得算法(欧几里得法原理和算法)伪代码Beginseta,breadareadbsetctomin{a,b};setbtodwhi......
  • 【C语言】给定两个数,求这两个数的最大公约数
    ​​intmain()​​​​{​​​​​intnum1=0;​​​​ intnum2=0;​​​​ inta=0;​​​​ scanf("%d%d",&num1,&num2);​​​​ while(a=num1%num2......
  • C语言:辗转相除法求最大公约数 函数
    #include<stdio.h>//求最大公约数:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。//319377:319%377=319377%319=58319%58=2958%29=0......
  • C语言:辗转相除法求最大公约数
    #include<stdio.h>//求最大公约数:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。//319377:319%377=319377%319=58319%58=2958%29=0......
  • C语言:九章算术:更相减损法求最大公约数 函数写法
    #include<stdio.h>//<<九章算术>>更相减损法:可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。//以等数约之。///第......
  • C语言:九章算术更相减损法求最大公约数
    #include<stdio.h>//<<九章算术>>更相减损法:可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。//以等数约之。///第......
  • C++ 第44课判断最大公约数
    //枚举#include<iostream>usingnamespacestd;intmain(){ intn; cin>>n; inta[n],i; for(intj=1;j<=n;j++){ cin>>a[j]; if(a[j]<i){i......