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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Руководство по 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