Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] NWD w php
Forum PHP.pl > Forum > Przedszkole
Mati117
MAm problem. Nie wiem jak napisać program obliczający największy wspólny dzielnik z 2 liczb. Potrzebuje to do mojego kalkulatora. Wiem coś że za pomoca mod, ale nie bardzo wiem jak.
strife
http://www.phpfreaks.com/quickcode/greates...divisor/445.php

Wystarczyło poszukać winksmiley.jpg

Jeśli chcesz coś swojego napisać to napewno przyda Ci się http://pl.wikipedia.org/wiki/Algorytm_Euklidesa

Cytat
napisać program


Jeśli już to skrypt, w php nie pisze się programów winksmiley.jpg

Pozdrawiam.
Mati117
no ale ja bym chciał napisać za pomoca fonction


$a=$_POST['a'];
$b=$_POST['b'];
fonction NWd($a,$b)

i wiem że coś tutaj $amod$b
strife
Cytat(Mati117 @ 28.05.2007, 20:51:54 ) *
no ale ja bym chciał napisać za pomoca fonction
$a=$_POST['a'];
$b=$_POST['b'];
fonction NWd($a,$b)

i wiem że coś tutaj $amod$b


Co to jest fonction ? tongue.gif A powiedz mi link który ode mnie dostałeś nie używa funkcji ? Sprawdziłeś ten kod w ogóle ?

  1. <?php
  2.  
  3. function gcd($int_one, $int_two) {
  4. if ($int_one == 0 || $int_two == 0)
  5. return 1;
  6. // assign max and min
  7. $max = max($int_one, $int_two);
  8. $min = min($int_one, $int_two);
  9. // euclidean algorithm arrays
  10. $m = $n = $q = $r = array();
  11. // define our starting dividend and divisor
  12. $m[0] = $max;
  13. $n[0] = $min;
  14. // start our euclidean algorithm
  15. for ($i = 0; $r[($i - 1)] !== 0; $i++) {
  16. $q[$i] = floor(bcdiv($m[$i], $n[$i], 15));
  17. $r[$i] = $m[$i] - bcmul($q[$i], $n[$i]);
  18. $m[($i + 1)] = $n[$i];
  19. $n[($i + 1)] = $r[$i];
  20. }
  21. // reached a zero remainder, meaning divisor in last step is GCD
  22. return $n[($i - 1)];
  23. }
  24. $a = $_POST['a'];
  25. $b = $_POST['b'];
  26. echo gcd( $a, $b );
  27. ?>


Pff tongue.gif

~edit
Aż Ci temat na Przedszkole przeniosę tongue.gif
Mati117
dzieki
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-2025 Invision Power Services, Inc.