【C++】__gcd(x,y)函数

无意间发现个有用的函数

__gcd(x,y)函数

用于求x,y的最大公约数。x,y不能是浮点数
头文件:#include< algorithm>

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int a,b;
	cin>>a>>b;
	cout<<__gcd(a,b)<<endl;
}

其他求最大公约数的方法

1、循环

int gcd(int x,int y)
{
    int r;
	while (a%b!=0)
    {
        r=a%b;
        a=b;
        b=r;    
    }
    return b; 
}
int gcd(int a,int b) {
    return b>0 ? gcd(b,a%b):a;
}

2、递归

求x 和 y 的最大公约数,就是求 y 和 x % y 的最大公约数

int gcd(int a,int b)
{
	if(a%b==0) 
		return b;
	else 
		return (gcd(b,a%b));
}
【C++】__gcd(x,y)函数【C++】__gcd(x,y)函数 奇点@Sin 发布了8 篇原创文章 · 获赞 0 · 访问量 152 私信 关注
上一篇:C语言--编写程序,输入一个整数,判断它能否被3,5,7整除


下一篇:HDU 4143 A Simple Problem(枚举)