PHP
Referenzliste
gmp_gcdext
GMP Funktionen
Befehl:
array gmp_gcdext ( resource $a , resource $b )
Parameter-Liste:
Beschreibung | |
---|---|
Dies kann entweder eine resource für einen GMP-Wert sein oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln. | |
Dies kann entweder eine resource für einen GMP-Wert sein oder ein numerischer String, wenn es möglich ist, diesen in einen GMP-Wert umzuwandeln. |
Beschreibung:
Berechnet g, s und t, so dass a * s + b * t = g = ggT (a, b)., Wo gcd der grösste gemeinsame Teiler ist Gibt ein Array mit den jeweiligen Elementen g, s und t.
Diese Funktion kann verwendet werden, um lineare Gleichungen Diophantische in zwei Variablen zu lösen. Das sind Gleichungen, die nur ganzzahlige Lösungen ermöglichen und haben die Form: a * b * x + y = c. Für weitere Informationen zum »" Diophantische Equation" Seite an MathWorld gehen.
Diese Funktion kann verwendet werden, um lineare Gleichungen Diophantische in zwei Variablen zu lösen. Das sind Gleichungen, die nur ganzzahlige Lösungen ermöglichen und haben die Form: a * b * x + y = c. Für weitere Informationen zum »" Diophantische Equation" Seite an MathWorld gehen.
Aktiv in Version:
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gmp_gcdext() - Beispiel:
Eingabe:
<?php // Solve the equation a*s + b*t = g // where a = 12, b = 21, g = gcd(12, 21) = 3 $a = gmp_init(12); $b = gmp_init(21); $g = gmp_gcd($a, $b); $r = gmp_gcdext($a, $b); $check_gcd = (gmp_strval($g) == gmp_strval($r['g'])); $eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t'])); $check_res = (gmp_strval($g) == gmp_strval($eq_res)); if ($check_gcd && $check_res) { $fmt = "Solution: %d*%d + %d*%d = %d\n"; printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b), gmp_strval($r['t']), gmp_strval($r['g'])); } else { echo "Error while solving the equation\n"; } // output: Solution: 12*2 + 21*-1 = 3 ?>
GMP Funktionen