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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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