求解最大公约数(两种)

简介: 求解最大公约数(两种)

题目

输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a 和 b 的最大公约数。


输入格式

共一行,包含两个整数 a 和 b。


输出格式

共一行,包含一个整数,表示 a 和 b 的最大公约数。


数据范围

1≤a,b≤1000


输入样例:

12 16


输出样例:

4


解析

解法1:递归

思路



代码

#include <iostream>usingnamespacestd;
intgcd(inta, intb){
if(a%b==0) returnb;
elsegcd(b,a%b);  
}
intmain(){
inta,b;
cin>>a>>b;
cout<<gcd(a,b);
return0;
}



解法2:

1、暴力从1开始除以,能整除以即得到最大公因数

#include <iostream>usingnamespacestd;
intgcd(inta, intb){
intc=min(a,b);
intd;
for(inti=1;i<=c;i++){
if(a%i==0&&b%i==0){
d=i;  
        }
    }
returnd;
}
intmain(){
inta,b;
cin>>a>>b;
cout<<gcd(a,b);
return0;
}



2、从两者最小值开始除以,能整除即得到最大公因数

#include <iostream>usingnamespacestd;
intgcd(inta, intb){
intc=min(a,b);
intd;
for(inti=c;i>=0;i--){
if(a%i==0&&b%i==0){
d=i;  
break;
        }
    }
returnd;
}
intmain(){
inta,b;
cin>>a>>b;
cout<<gcd(a,b);
return0;
}




❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!


目录
相关文章
|
6月前
|
算法
求最大公约数和最小公倍数的算法
求最大公约数和最小公倍数的算法
76 0
|
2月前
|
移动开发 算法
求其最大公约数和最小公倍数
求其最大公约数和最小公倍数。
74 5
|
存储
求解素数的筛选法
求解素数的筛选法
|
6月前
|
算法 Python
最大公约数算法
最大公约数算法
|
6月前
|
算法 Python
最小公倍数算法
最小公倍数算法
|
算法 C语言 C++
【数论】最大公约数、约数的个数与约数之和定理
先来科普下什么是约数:当a能被b整除,我们就说b为a的约数,b的倍数为a
123 0
求解最大公约数和最小公倍数
求解最大公约数和最小公倍数
求解最大公约数和最小公倍数
|
人工智能
求解最大公约数----最小公倍数
最大公因数和最小公倍数之间的性质:两个自然数的乘积等于这两个自然数的最大公约数和最小公倍数的乘积。最小公倍数的计算要把三个数的公有质因数和独有质因数都要找全,最后除到两两互质为止。
82 0
|
算法
求最大公约数和最小公倍数的几种算法
求最大公约数和最小公倍数的几种算法
149 0
欧几里得算法,既辗转相除法。用于计算正整数a,b的最大公约数
欧几里得算法,既辗转相除法。用于计算正整数a,b的最大公约数
110 0