kalianov_bohdan
@kalianov_bohdan

Как реализовать алгоритм Карацубы для умножения больших чисел на PHP?

С математической составной в общем и целом я разобрался ,а вот с практической реализацией на php возникли проблемы.
К примеру для чисел 1000 и 2000 отрабатывает, для приведенных ниже : Chrome - ERR_EMPTY_RESPONSE.
function foo($x,$y) {
    if (strlen($x) == 1 and strlen($y) == 1)return $x*$y;
    $n = max(strlen($x),strlen($y));

    $n2=$n/2;
    $a = substr($x, 0, floor($n2));
    $b = substr($x, floor($n2));
    $c = substr($y, 0, floor($n2));
    $d = substr($y, floor($n2));
    $p1 = foo($a,$c);
    $p2 = foo($b,$d);
    $p3 = foo($a+$b,$c+$d);
   return ($p1*pow(10,2*($n2)))+($p3-$p1-$p2)*pow(10,$n2)+$p2;
}
echo foo('12345678' , '87654321' );
  • Вопрос задан
  • 664 просмотра
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Какие проблемы то ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы