Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Liczby Pierwsze PHP, błąd w skypcie
bcl
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.02.2011

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


Witam, właśnie przerabiam podstawy PHP z książki PHP Samouczek 2003 Karol Wierzchołowski,
jest tam następujący skrypt na liczby pierwsze w PHP:

  1. <?php
  2. // prime numbers
  3.  
  4.  
  5. for ($number=1;$number<=10;$number++);
  6. {
  7. $dividers=0;
  8.  
  9. for ($i=1;$i<=$number/2;$i++)
  10. if ($number%$i==0)
  11. $dividers++;
  12. if ($dividers==1)
  13. echo ("$number is the prime number<br>");
  14. }
  15. ?>


Niestety jest w nim błąd, bo wyświetla tylko ze liczba pierwsze jest 11, a nie rozpatruje liczba z przedzialu 1-10. Gdzie jest błąd?


przepraszam za zawracanie glowy, zbedny srednik w pierwszej linijce za for wszystko rozwiazuje:

  1. <?php
  2. // prime numbers
  3.  
  4.  
  5. for ($number=1;$number<=10;$number++)
  6. {
  7. $dividers=0;
  8.  
  9. for ($i=1;$i<=$number/2;$i++)
  10. if ($number%$i==0)
  11. $dividers++;
  12. if ($dividers==1)
  13. echo ("$number is the prime number<br>");
  14. }
  15. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


No tak ale robiąc taki debug przez Xdebug'a od razu zobaczysz że skacze on 'w kółko' przez tą jedną linię a resztę pętli wykonuje tylko raz.
Swoją drogą kiedyś jakieś rozbudowane IDE (bodajże zend'a ?) miało fajne powiadomienie w stylu 'Czy na pewno tam powinien byś średnik?' gdy wykryło takowy zaraz za pętlą, całkiem fajna sprawa.
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: 17.10.2025 - 00:08