Sha256: 350f327c487daee5fe64dcb4de49288a30cb9a7cd4b607f8610ab3feb0ca14f9

Contents?: true

Size: 379 Bytes

Versions: 134

Compression:

Stored size: 379 Bytes

Contents

<?php

function steps($number)
{
    $stepCount = 0;
    if ($number < 1) {
        throw new InvalidArgumentException('Only positive numbers are allowed');
    }
    do {
        if ($number === 1) {
            break;
        }
        $stepCount++;
        $number = ( $number % 2 === 0 ? $number / 2 : 3 * $number + 1);
    } while ($number !== 0);

    return $stepCount;
}

Version data entries

134 entries across 134 versions & 1 rubygems

Version Path
trackler-2.2.1.58 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.57 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.56 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.55 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.54 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.53 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.52 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.51 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.50 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.49 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.48 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.47 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.46 tracks/php/exercises/collatz-conjecture/example.php
trackler-2.2.1.45 tracks/php/exercises/collatz-conjecture/example.php