Compute the greatest common divisor of two values. <span align="right" style="background-color:99FF99"><strong>Excel: GCD</strong></span>

You're viewing an older version of this page (#315). View the current version.

View versions (2)

Interface

#include <codecogs/maths/combinatorics/arithmetic/gcd.h>

using namespace Maths::Combinatorics::Arithmetic;

Calculate the greatest common divisor of two values. This function is equivalent to the Microsoft Excel function GCD . One divides every number evenly. If either argument is zero, the other argument is returned.

This function is non-recursive so will not cause stack problems with exremely large values.

Example 1

#include <iostream>
#include <codecogs/maths/arithmetic/gcd.h>

int main(int argc, char *argv[])
{
  double a=5.0, b=2.0;
  std::cout<<"gcd("<<a<<", "<<b<<")="<<Maths::Arithmetic::gcd(a, b)<<std::endl;
  
  a=24.0, b=36.0;
  std::cout<<"gcd("<<a<<", "<<b<<")="<<Maths::Arithmetic::gcd(a, b)<<std::endl;
  
  a=7.0, b=1.0;
  std::cout<<"gcd("<<a<<", "<<b<<")="<<Maths::Arithmetic::gcd(a, b)<<std::endl;
  
  a=5.0, b=0.0;
  std::cout<<"gcd("<<a<<", "<<b<<")="<<Maths::Arithmetic::gcd(a, b)<<std::endl;
  
  return 0;
}

Output:

gcd(5, 2)=1
gcd(24, 36)=12
gcd(7, 1)=1
gcd(5, 0)=5

Parameters

a
The first value.
b
The second value.

Returns

The greatest common divisor of the two values.
GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

a
b
Result