Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2019, 16:42   #1
Gadmir
Новичок
Джуниор
 
Регистрация: 18.09.2019
Сообщений: 1
По умолчанию [C++] Остаток от деления двух больших чисел

Даны два больших числа. Надо найти остаток от их деление, но не могу понять как именно деление большого на большое производить, да и остаток потом тоже как найти. Искал в гугле, находил только деление большого на короткое, а это не совсем то, насколько я понимаю. Подскажите с чего начать хотя бы или саму суть как делать
Gadmir вне форума Ответить с цитированием
Старый 18.09.2019, 16:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от Gadmir Посмотреть сообщение
но не могу понять как именно деление большого на большое производить
столбиком

Цитата:
Сообщение от Gadmir Посмотреть сообщение
да и остаток потом тоже как найти
В школу ходили? Там, когда говорят о делении, обычно, формулу показывают a = b * q + r и остаток r находится элементарно. Ну или из столбика взять...

Цитата:
Сообщение от Gadmir Посмотреть сообщение
Искал в гугле, находил только деление большого на короткое, а это не совсем то, насколько я понимаю.
В чем вы видите принципиальную разницу?
p51x вне форума Ответить с цитированием
Старый 18.09.2019, 16:59   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Попробую так объяснить.

Предположим, есть большой контейнер с яблоками. В нём x яблок. У вас есть корзина, которая помещает в себя y яблок. Ваша задача состоит в том, что нужно опустошить контейнер, набирая яблоки в корзину, относя их куда-то и вываливая. Вы обязаны заполнять корзину ровно на столько, на сколько она рассчитана, то есть, на y яблок. Так, вот целая часть от деления x на y — это число, обозначающее количество подходов к контейнеру, заполнению корзины яблоками.

Как только в контейнере останется меньше y яблок (обозначим через z), оно будет считаться остатком от деления.

Например, если в контейнере 13 яблок, а ёмкость корзины 5 яблок, то вам надо будет сделать два подхода, а после них в контейнере останется 3 яблока.

Последний раз редактировалось Вадим Мошев; 18.09.2019 в 17:02.
Вадим Мошев вне форума Ответить с цитированием
Старый 18.09.2019, 19:33   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вадим, объясни так первоклашке, ну или когда они еще не знают деления, то он будет считать, что деление это многократное вычитание. Хотя эта операция обратная умножению
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.09.2019, 20:16   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
объясни так первоклашке, ну или когда они еще не знают деления, то он будет считать, что деление это многократное вычитание
Надо пояснить тогда , что речь о целочисленном делении (куда и остаток относится).

Ну, а что касается обычного деления (частного), то, думаю, что даже дошкольник ответит на вопрос "Что надо сделать с яблоком, чтобы всем хватило поровну?"
Вадим Мошев вне форума Ответить с цитированием
Старый 18.09.2019, 20:31   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Вадим, объясни так первоклашке, ну или когда они еще не знают деления, то он будет считать, что деление это многократное вычитание. Хотя эта операция обратная умножению
Умножение - это многократное сложение.
Обратная операция - многократное вычитание. Что не так то?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.09.2019, 21:00   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Все так. Но когда в столбик умножаем или делим, то там этот принцип не очень то и заметен. Ладно, согласно этого принципа пусть ТС в цикле вычитает делитель из делимого, пока разница не станет меньше делителя. Желательно цикл с предусловием )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.09.2019, 10:39   #8
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Найдите уже готовый класс BigInteger и посмотрите как там реализовано)
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Частное и остаток от деления двух целых чисел. Andrey35 Паскаль, Turbo Pascal, PascalABC.NET 14 14.11.2011 18:00
MOD остаток от деления больших чисел Zibiv Общие вопросы Delphi 24 28.05.2011 23:14
определить остаток от деления чисел dimon-nicolayev Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2011 11:02
C: частное и остаток от деления двух полиномов xad_jek Помощь студентам 11 11.12.2010 16:43
Нахождение остатка от деления очень больших чисел Pavel_Ine Общие вопросы C/C++ 6 22.11.2009 20:49