Sha256: 37346b4fbc0f52a47c91be6ce75d85d96b2d26ef7e8e1406db94d7d9cccd8e08

Contents?: true

Size: 704 Bytes

Versions: 370

Compression:

Stored size: 704 Bytes

Contents

<?php
function sieve($number)
{
    if ($number == 1) {
        return [];
    }
    $candidates = _getNumbersFrom2To($number);
    foreach ($candidates as $prime) {
        foreach ($candidates as $key => $multiple) {
            if (_areDifferent($multiple, $prime) && _areMultiples($multiple, $prime)) {
                unset($candidates[$key]);
            }
        }
    }
    return array_values($candidates);
}
function _getNumbersFrom2To($number): array
{
    $candidates = range(2, $number);
    return $candidates;
}
function _areDifferent($multiple, $prime): bool
{
    return ($multiple != $prime);
}
function _areMultiples($multiple, $prime): bool
{
    return ($multiple % $prime == 0);
}

Version data entries

370 entries across 370 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/php/exercises/sieve/example.php
trackler-2.2.1.179 tracks/php/exercises/sieve/example.php
trackler-2.2.1.178 tracks/php/exercises/sieve/example.php
trackler-2.2.1.177 tracks/php/exercises/sieve/example.php
trackler-2.2.1.176 tracks/php/exercises/sieve/example.php
trackler-2.2.1.175 tracks/php/exercises/sieve/example.php
trackler-2.2.1.174 tracks/php/exercises/sieve/example.php
trackler-2.2.1.173 tracks/php/exercises/sieve/example.php
trackler-2.2.1.172 tracks/php/exercises/sieve/example.php
trackler-2.2.1.171 tracks/php/exercises/sieve/example.php
trackler-2.2.1.170 tracks/php/exercises/sieve/example.php
trackler-2.2.1.169 tracks/php/exercises/sieve/example.php
trackler-2.2.1.167 tracks/php/exercises/sieve/example.php
trackler-2.2.1.166 tracks/php/exercises/sieve/example.php
trackler-2.2.1.165 tracks/php/exercises/sieve/example.php
trackler-2.2.1.164 tracks/php/exercises/sieve/example.php
trackler-2.2.1.163 tracks/php/exercises/sieve/example.php
trackler-2.2.1.162 tracks/php/exercises/sieve/example.php
trackler-2.2.1.161 tracks/php/exercises/sieve/example.php
trackler-2.2.1.160 tracks/php/exercises/sieve/example.php