码迷,mamicode.com
首页 > 其他好文 > 详细

OCAC暑期比赛第一场 K题 最大公约数 题解

时间:2019-07-01 14:12:00      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:main   end   范围   c++   约数   gcd   name   最大公约数   使用   

最大公约数
【题目描述】
给你两个int范围内的正整数,求它们的最大公约数。
【输入格式】
输入的一行包含两个正整数 a 和 b (1<=a,b<=2^31),以空格分隔。
【输出格式】
输出 a 和 b 的最大公约数。
【样例输入】
6 8
【样例输出】
2
【题目分析】
gcd模板题。我们可以用 STL 提供的 __gcd 函数直接进行运算,也可以自己模拟 gcd 函数来写。
自己模拟实现的代码:

#include <bits/stdc++.h>
using namespace std;

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

int a, b;

int main() {
    cin >> a >> b;
    cout << gcd(a, b) << endl;
    return 0;
}

 使用 STL 提供的 __gcd 函数实现的代码:

#include <bits/stdc++.h>
using namespace std;

int a, b;

int main() {
    cin >> a >> b;
    cout << __gcd(a, b) << endl;
    return 0;
}

 

OCAC暑期比赛第一场 K题 最大公约数 题解

标签:main   end   范围   c++   约数   gcd   name   最大公约数   使用   

原文地址:https://www.cnblogs.com/ocac/p/11113456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!