Каков наилучший способ разделяй два числа, которые имеют более 50 цифр, но менее 200.Разделив два числа с более чем 50 цифр (максимум 200) алгоритм
У меня есть структуру представлять ряд:
struct number{
int digit[MAX_SIZE]; // MAX_SIZE = 5;
bool negative; // Is it negative or positive number
};
Проблема, с которой я сталкиваюсь при попытке реализовать этот алгоритм является то, что, если я пытаюсь разделить число «п» с a число 'm'(n> m), у которого есть больше цифр, которые вы можете сохранить в переменной, как вы можете ее разделить?
Например: 1234567891234567891234567/12345678912345678
Моя первая догадка делать с повторных вычитаний, но не то, что слишком медленно?
Как вы это делаете в начальной школе? Представьте, что вы учитель начальной школы, а компьютер довольно скучный ученик. См. Это для большего количества идей (в том числе метода длинного разделения, о котором я упоминал): https://en.wikipedia.org/wiki/Division_algorithm –
В дополнение ко всему, что сказал @JohnColeman, также стоит иметь в виду, что это колесо уже изобретен. Если вы программируете на C, используйте библиотеку [GMP] (https://gmplib.org/). Некоторые языки более высокого уровня, такие как Python, вполне довольны работой с произвольно большими целыми числами. –