Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Liczba podzielna przez 3...
Forum PHP.pl > Forum > Przedszkole
daniel1302
Witam proszę o pomoc bo nie wiem jak powinien wglądać IF
który sprawdzi czy liczba jest podzielna przez 3,4,5,6,7,8,9

bo z 2 robie to tak
if ($i&2) lub if ($i%2)

Z góry dziękuje
pyro
  1. <?php
  2. if($a%$b)
  3. {
  4. // nie jest
  5. }
  6. else
  7. {
  8. // jest
  9. }
  10. ?>
webdice
Każda liczba jest podzielna przez trzy. Zapewne chodzi Ci o takie rozwiązanie:

  1. <?php
  2. $integer = 9;
  3.  
  4. if ($integer % 3 == 0)
  5. {
  6.    print 'TAK';
  7. }
  8. else
  9. {
  10.    print 'NIE';
  11. }
  12. ?>
Albitos
webdice: To co podałeś też będzie działać... Tylko po co komplikować? Przecież jeżeli w wyrażeniu będzie 0, to i tak if nie zostanie wykonany. Słowem, to co podałeś jest równoważne z tym co podał pyro.
phpion
Cytat(webdice @ 21.09.2008, 14:55:23 ) *
Każda liczba jest podzielna przez trzy.

No co Ty :|
http://www.math.edu.pl/cechy.html
Cytat
Cecha podzielności przez 3
Liczba jest podzielna przez 3, jeśli suma jej cyfr tworzy liczbę podzielną przez 3.
webdice
Kod
5 / 3 = ~ 1.6


Dzieli się przez trzy? Dzieli winksmiley.jpg, a to czy wynik wyjdzie z resztą czy bez to już inna bajka o tym autor nic nie wspominał.
phpion
@webdice:
Wiesz co to jest "podzielność liczb"? Nie chodzi o to czy można daną liczbę podzielić przez drugą...
pyro
webdice, operator % zwraca reszte z dzielenia, dlatego kod ktory podalem na poczatku powinien dobrze dzialac.

0 == false
webdice
Cytat(phpion @ 21.09.2008, 15:09:09 ) *
@webdice:
Wiesz co to jest "podzielność liczb"? Nie chodzi o to czy można daną liczbę podzielić przez drugą...


Zwracam honor, źle zrozumiałem autora.

Cytat(pyro @ 21.09.2008, 15:21:10 ) *
webdice, operator % zwraca reszte z dzielenia, dlatego kod ktory podalem na poczatku powinien dobrze dzialac.

0 == false


Dokładnie o tym pomyślałem, a dopiero później zauważyłem że masz zamienione wartości dla true i false.

P.S. Przyjąłem sobie, ze zazwyczaj pierwsze true, a później false (else).
daniel1302
Dziękuje wszystkim za pomoc
Zbooj
Można to zrobić również na zakresie:
  1. <?php
  2. $dzielnik=3;
  3. for ($i;$i<=100;$i++)
  4.  
  5.  
  6.  
  7. {
  8.  
  9. if ($i%$dzielnik=0)
  10.  
  11. {
  12.  
  13. echo "Zmienna $i podzielna przez $dzielnik";
  14.  
  15. }
  16.  
  17. }
  18. ?>
phpion
@Zbooj:
a w czym twój kod (pomijając już błąd związany z =) różni się od, przykładowo, if (9 % 3 == 0) bo nie bardzo widzę różnice.
mario_salsa
Cytat(Zbooj @ 21.09.2008, 18:11:41 ) *
Można to zrobić również na zakresie:
$dzielnik=3;
for ($i;$i<=100;$i++)
{

if ($i%$dzielnik=0)

{

echo "Zmienna $i podzielna przez $dzielnik";

}

}


czy moze chodzi Ci w tym o wyznaczanie liczb pierwszych?

jak juz chcesz tak robic to 2 male wskazowki:
1) jak chcemy sprawdzic np liczbe 100 to wystarczy badac tylko liczby do 10 czyli pierwiastek z niej
2) badamy tylko dzielniki nieparzyste bo mozna tylko jeden test na liczbe 2 zrobic

Troche malo precyzyje jest pytanie glowe tego watku.
Ociu
Przenoszę do przedszkola.
Zbooj
Chodziło mi głównie o wyznaczanie kolejnych liczb podzielnych przez np 3.
dr_bonzo
Eh? Kolejnych podzienlych przez 3?

  1. <?php
  2. $i = 0;
  3. while ( true )
  4. {
  5. echo $i . "<br />";
  6. $i+= 3;
  7. }
  8. ?>
pyro
Taka mała poprawka:

  1. <?php
  2. $i = 0;
  3. while ( true )
  4. {
  5. $i+= 3;
  6. echo $i . "<br />";
  7. }
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.