zoukankan      html  css  js  c++  java
  • 求最大公约数问题

    总时间限制:1000ms 内存限制: 65536kB

    描述

    给定两个正整数,求它们的最大公约数。

    输入

    输入一行,包含两个正整数(<1,000,000,000)。

    输出

    Brackets not match

    样例输入

    6 9

    样例输出

    3


    提示

    求最大公约数可以使用辗转相除法:

    假设a > b > 0,那么a和b的最大公约数等于b和a%b的最大公约数,然后把b和a%b作为新一轮的输入。
    由于这个过程会一直递减,直到a%b等于0的时候,b的值就是所要求的最大公约数。

    比如:

    9和6的最大公约数等于6和9%6=3的最大公约数。
    由于6%3==0,所以最大公约数为3。


    ac代码

    /*
    @File     :   greatest_common_divisor.cpp
    @Time     :   2020/04/13
    @Desc     :   给定两个正整数,求它们的最大公约数。
    */
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    typedef long long big_int;
    big_int gcb(big_int a, big_int b)
    {
        if (a % b == 0) return b;
        else return gcb(b,a % b);
    }
    int main(int argc, char const *argv[])
    {
        big_int a, b, c;
        cin >> a >> b;
        c = gcb(a,b);
        cout << c << endl;
        system("pause");
        return 0;
    }
    
  • 相关阅读:
    iOS 组件化方案
    iOS 核心动画概览
    iOS @字面量
    iOS id 和 instancetype 的区别
    C++ 中的 const
    iOS 开发资料
    iOS 架构-App组件化开发
    iOS 知名大牛的一些博客
    iOS 键盘 隐藏系统的 toolBar
    iOS UIView 单独设置一个角为圆角,两个 三个角也行
  • 原文地址:https://www.cnblogs.com/levarz/p/12781590.html
Copyright © 2011-2022 走看看