Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> liczby pierwsze!!
Buby
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2003

Ostrzeżenie: (0%)
-----


nie wiem jak napisac taki skrypt ktory pokazywalby liczby pierwsze z przedzialu od 0 do n! (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Prosze o pomoc!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
talee
post
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 7.09.2002
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Bierzemy sobie kolejno kandydatów i próbujemy dzielić przez liczby pierwsze, które trzymamy w tablicy. Jeżeli się podzieli to ne jest pierwsza w przeciwnym wypadku est. Dzielimy tylko przez te liczby pierwsze spełniające warunek pierwsza * 2 <= kandydat.

[php:1:455022dbeb]<?php

// funkcja wypisuje wszystkie liczby
// pierwsze z zakresu od [1..$zakres]

function pierwsze($zakres) {

if ($zakres >= 2) {
echo '1 -> 2', "n";
$tab_pierwsze[] = '2'; // eliminujemy przypadek trywialny
}

$tab_pierwsze_count = 1;

$j = 2;

for ($i = 3; $i <= $zakres; $i++) {

$pierwsza = true;
$sqrt = floor(sqrt($i)) + 1;

for ($k = 0; $k < $tab_pierwsze_count; $k++) {
if ($i % $tab_pierwsze[$k] == 0) {
$pierwsza = false; // nie jest pierwsza
break;
}
if ($tab_pierwsze[$k] > $sqrt) {
break; // nie dzielimy przez p, takie że 2 * p > i
}
}

if ($pierwsza) {
$tab_pierwsze[] = $i;
++$tab_pierwsze_count;
echo "$j -> $in";
++$j;
}
}
}
?>[/php:1:455022dbeb]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 09:38