![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
temat wydzielony od: http://forum.php.pl/viewtopic.php?t=9078
Chodzi o sprawdzanie licz czy są pierwsze. Cytat Najprosciej (choc nie najwydajniej) sprawdzic podzielnosc liczby X przez wszystkie liczby calkowite od 2 do sqrt(X) (sqrt - pierwiastek kwadratowy). Jesli się przez ktorakolwiek z nich dzieli to nie jest to liczba pierwsza (wyjatkiem jest liczba 2, ktora jest liczba pierwsza). Najprościej jest podzielić przez wszystkie liczy pierwsze mniejsze od sqrt(X) i większe od 2.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 315 Pomógł: 1 Dołączył: 6.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
To ja mam na 100% pewny kod i na 100% nie wydajny przy dużych liczbach i na który chyba każdy z was wpadł:[php:1:4ea04ac18a]<?php
$liczba=105;//dowolna liczba if($liczba>=2){ for($i=2;$i<$liczba;$i++){ if($liczba % $i==0){ echo "Liczba $liczba dzieli się przez $i<br>"; $d++;} } if($d==0) echo "Liczba jest Pierwsza"; else { $liczba2=$liczba-1; echo "Liczba nie jest pierwsza, ponieważ dzieli się przez $d liczb(y) z przedziału (2, $liczba2)"; } } else echo "Liczba nie jest pierwsza"; ?>[/php:1:4ea04ac18a] edit: Jednak można to skrócić dodając break jak tylko znajdzie się liczba która daje resztę 0 z dzielenia |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 13:02 |