Prime Number Generator

Generate prime numbers using the Sieve of Eratosthenes algorithm

By Cojocaru David1d ago (Sep 13, 2025)
tutorial
php
algorithms

Prime Number Generator

php
<?php

class PrimeGenerator {
    
    /**
     * Generate prime numbers up to a given limit using Sieve of Eratosthenes
     * 
     * @param int $limit The upper limit for prime generation
     * @return array Array of prime numbers
     */
    public static function sieveOfEratosthenes($limit) {
        if ($limit < 2) {
            return [];
        }
        
        // Initialize boolean array
        $isPrime = array_fill(0, $limit + 1, true);
        $isPrime[0] = $isPrime[1] = false;
        
        for ($i = 2; $i * $i <= $limit; $i++) {
            if ($isPrime[$i]) {
                // Mark all multiples of $i as composite
                for ($j = $i * $i; $j <= $limit; $j += $i) {
                    $isPrime[$j] = false;
                }
            }
        }
        
        // Collect all prime numbers
        $primes = [];
        for ($i = 2; $i <= $limit; $i++) {
            if ($isPrime[$i]) {
                $primes[] = $i;
            }
        }
        
        return $primes;
    }
    
    /**
     * Check if a single number is prime
     * 
     * @param int $number The number to check
     * @return bool True if prime, false otherwise
     */
    public static function isPrime($number) {
        if ($number < 2) return false;
        if ($number === 2) return true;
        if ($number % 2 === 0) return false;
        
        for ($i = 3; $i * $i <= $number; $i += 2) {
            if ($number % $i === 0) {
                return false;
            }
        }
        
        return true;
    }
}

// Example usage
$primes = PrimeGenerator::sieveOfEratosthenes(100);
echo "Prime numbers up to 100:\n";
echo implode(', ', $primes) . "\n";

echo "\nChecking individual numbers:\n";
$testNumbers = [17, 25, 29, 100];
foreach ($testNumbers as $num) {
    $result = PrimeGenerator::isPrime($num) ? 'prime' : 'not prime';
    echo "$num is $result\n";
}

?>

Views

81

Lines

73

Characters

1,910

Likes

0

Details

Language
Php
Created
Sep 13, 2025
Updated
1d ago
Size
1.9 KB

Build your snippet library

Join thousands of developers organizing and sharing code snippets.