Zend - The PHP Company




Math

Add Code


BCGCD Greatest Common Denominator (Large Numbers)  

Type: code fragment
Added by: forumjoiner
Entered: 29/09/2006
Last modified: 31/10/2005
Rating: - (fewer than 3 votes)
Views: 2629
The Greatest Common Denominator of two large numbers, using BCMath functions. Please read the PHP manual for BCMath requirements. It works even for those who cannot have GMP support in their PHP distribution, for instance due to the web host policy.


<?php
// The Greatest Common Denominator of two large numbers, using BCMath functions.

// It works even for those who cannot have GMP support in their PHP distribution, for instance due to the web host policy.

// You can see a demo here:
// http://freephpcalculator.tk/
// License: free to do whatever you want with the code
// even using it
function bcgcd ($value1$value2) {
    
    if (
$value1 $value2)
    
// Swap $value1 and $value2
    
{
        
$temp $value1;
        
$value1 $value2;
        
$value2 $temp;
    }

    
// We use the Euclid's algorithm
    // for finding the Greatest Common Denominator (GCD)
    
$mod 1;
    while (
$mod != 0)
    {
        
$mod bcmod ($value1$value2);
        
$value1 $value2;
        
$value2 $mod;
    }
    return 
$value1;

}
?>


Usage Example


See the example


Rate This Script





Search



This Category All Categories