Сложение очень больших чисел

В этом задании нужно написать функцию, позволяющую сложить 2 очень больших целых числа.

Так как структура данных в PHP, хранящая числа, ограничена размером, мы не можем сложить, к примеру, 278378473848374873847384738478347483743878 и 23784923428346283472346234623746238423.

Попробуйте выполнить этот код:

<?php
echo 278378473848374873847384738478347483743878 + 23784923428346283472346234623746238423;

Он вернет нам полную ерунду.

Мы даже просто не сможем присвоить большое число в переменную:

<?php
$a = 278378473848374873847384738478347483743878;
var_dump($a);

Этот код тоже не даст нам желаемого результата.

Однако, мы можем записать эти числа в виде строк:

<?php
$a = '278378473848374873847384738478347483743878';
var_dump($a);

И, в общем-то, мы можем написать функцию для сложения двух целых чисел в виде строк. Её интерфейс будет выглядеть следующим образом:

function bigSum(string $x1, string $x2): string

Подсказка #1. К символам строки можно обращаться с помощью квадратных скобок, как будто это элементы массива.

$x1[0] // вернёт первый символ строки

Подсказка #2. Вспомните школу... Если быть точнее, то как там учили складывать числа.

Поехали!

Решение

Внимание, в уроке есть ошибка. Обратите внимание на этот комментарий.

loader
Логические задачи с собеседований