zoukankan      html  css  js  c++  java
  • 每周算法之————最大公约数

    穷举法:

    #include<iostream>

    using namespace std;

    unsigned long GCD(unsigned long a, unsigned long b)

    {

           if(a == 0)

                  return b;

           else if(b == 0)

                  return a;

        else if(a == b)

                  return a;

           unsigned long gcd;

           gcd = a>b?b:a;

           while(gcd > 1)

           {

                  if((a%gcd==0) && (b%gcd==0))

                         return gcd;

                  gcd--;

           }

           return gcd;

    }

    void main()

    {

           unsigned long a,b;

           cout<<"请输入a 和b:>";

           cin>>a>>b;

           unsigned long gcd = GCD(a,b);

           cout<<"gcd = "<<gcd<<endl;

    }

    相减法:

    unsigned long gcd;
    while
    (a!=b) { gcd = a>b?(a-=b):(b-=a); } return gcd;

    相除法:

    unsigned long mod = a%b;
    while(mod != 0)
    {
      a = b;
      b = mod;
     mod = a%b;         
    }

    递归:

    unsigned long GCD(unsigned long a, unsigned long b)
    {
        if(b == 0)
            return a;
        else
            return GCD(b, a%b);
    }
  • 相关阅读:
    javaweb基础笔记(2)
    javaweb基础笔记(1)
    java基础笔记(11)
    java基础笔记(10)
    java基础笔记(9)
    洛谷 P2648 赚钱
    AcWing 走廊泼水节 题解
    对于有向图多个点到一个点的求法
    分层图的四倍经验
    洛谷 P4822 [BJWC2012]冻结
  • 原文地址:https://www.cnblogs.com/bigbear1385/p/6552444.html
Copyright © 2011-2022 走看看