П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 6396 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 8498 раз(а).

Учебник HTML.
Просмотров 5109 раз(а).

Руководство по PHP5.
Просмотров 2279 раз(а).

Хостинг через призму DNS.
Просмотров 7426 раз(а).

Подборка текстов стандартных документов.
Просмотров 101 раз(а).

Учебник PHP - Самоучитель
Просмотров 5401 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 11594 раз(а).

Внешние атаки...
Просмотров 7844 раз(а).

Учебник PHP.
Просмотров 4511 раз(а).

SSI в примерах.
Просмотров 1368 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5)

gmp_gcdext -- Calculate GCD and multipliers

Description

array gmp_gcdext ( resource a, resource b )

Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd is the greatest common divisor. Returns an array with respective elements g, s and t.

This function can be used to solve linear Diophantine equations in two variables. These are equations that allow only integer solutions and have the form: a*x + b*y = c. For more information, go to the "Diophantine Equation" page at MathWorld

Пример 1. Solving a linear Diophantine equation

<?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
?>



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru