здесь проблема, мне нужно, чтобы найти простые числа до определенного числа, и вот мой код:Prime числа до определенного числа
$a = 56;
for($i = 2; $i<=$a; $i++)
{
if($i == 2)
{
echo "2</br>";
}
if($i == 3)
{
echo "3</br>";
}
if($i == 5)
{
echo "5</br>";
}
if($i == 7)
{
echo "7</br>";
}
for($j =3; $j <= ceil($i/2); $j = $j + 2)
{
if($i % 2 == 0)
{
break;
}
if($i % 3 == 0)
{
break;
}
if($i % 5 == 0)
{
break;
}
if($i % 7 == 0)
{
break;
}
else
{
echo "$i</br>";
break;
}
}
}
Он отлично работает, но это своего рода выглядит как скотина алгоритм силы, не так ли? Есть ли другой способ сделать это? Спасибо за помощь !!!
Немного ... Вы можете начать выбрасывая номера вы знаете наверняка не простое (например, эвенов) – tymeJV
Посмотрите на различные [основные сита] (http://en.wikipedia.org/wiki/Generating_primes). –
Взгляните на [Сито Эратосфена] (http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes). Существуют также некоторые другие алгоритмы для получения простых чисел. – pzaenger