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

Было на одном из собеседований. Сделать сложение очень больших чисел, которые не влезают в long и int64, заходят как строка, при этом должны быть следующие ограничения:

-Не отрицательное число

-В аргументе только цифры

-Нет ведущих нолей

-Не пустая строка

-Целое

Нужно создать класс BigNumber и 3 его метода

  • Конструктор с ограничениями выше

  •  Метод сложения двух объектов (через перегрузку операторов)

  •  И перекрыть метод ToString()

Тест класса мог бы выглядеть так

 

Далее мои решения

Есть 2 решения, но на собеседовании – самое простое и элегантное не засчитали. Не дали воспользоваться библиотекой System.Numerics;

Итак, боевое решение. Класс BigNumber, идея в том. чтобы складывать числа из строк столбиком, как это нас учили в школе – за это отвечает метод Sum.

Тест класса

Способ №2 Элегантный

добавить

 

 

This entry was posted in C#. Bookmark the permalink.