Recursão: Soma de dois números (com uma reviravolta!)

Este é um desafio de "especialistas"??!! Por que somar dois números seria um desafio de "especialistas"??!! Bem, os números podem ter 1000 dígitos ou até mais...

Então, qual é a reviravolta? Você precisa fazer a soma como se estivesse fazendo isso manualmente em uma folha de papel; portanto, a conversão da string numérica em um literal numérico é basicamente proibida.

Exemplos

sum("12132000", "12171979") ➞ "24303979"

sum("4666", "544") ➞ "5210"

sum("1521512512512512515", "898989898989988998899898") ➞ "898991420502501511412413"

sum("5125515215521515", "125261616261626") ➞ "5250776831783141"

sum("6666666666666666666666666666", "99999999999999999999999") ➞ "6666766666666666666666666665"

sum("123456789123456789123456789", "987654321987654321987654329876543") ➞ "987654445444443445444443453333332"

Observações

  • Lembre-se de como somar dois números NO PAPEL; esse é o processo.
  • Sua função deve ser executada em menos de 10 segundos porque o Edabit tem um limite de tempo.
  • O uso de classes Number como BigInt é proibido — isso prejudicará o propósito e o nível de dificuldade associados a este desafio.
  • Espera-se que você resolva este desafio recursivamente.
  • Uma coleção de desafios sobre recursão pode ser encontrada por meio deste link.