Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835

Алгоритм деления с остатком

01.09.2017, 19:06. Показов 4129. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, алгоритм деления с остатком для двух действительных чисел. Результат деления - два числа, делитель и остаток. Нужен алгоритм именно для действительных чисел, который будет использовать лишь сложение и вычитание.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.09.2017, 19:06
Ответы с готовыми решениями:

Нужна функция деления с остатком
надо не чтоб не остаток давала, а рез-т целый забыл стыдно....

Рекурсивная реализация деления с остатком
Здравствуйте прошу помочь по задачкам и ответить на вопросы Рекурсивное определение остатка от деления (mod). я сделал, но сделано...

Прокомментировать код деления с остатком
Есть данный код не могу разобраться в строчках. ;---------------------------------- STACKSG SEGMENT PARA STACK 'STACK' DW...

13
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
02.09.2017, 04:31
Для вещественных чисел при вычитании накопится ошибка, и результат, скорее всего, будет неверным.

Добавлено через 4 минуты
Кроме того, делитель может быть иррациональным, или, даже, трансцендентным, тогда результат получить вообще проблематично.
1
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
02.09.2017, 15:21  [ТС]
Massaraksh7,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function divide(N, D)
  if D = 0 then error(DivisionByZero) end
  if D < 0 then (Q, R) := divide(N, −D); return (−Q, R) end
  if N < 0 then
    (Q,R) := divide(−N, D)
    if R = 0 then return (−Q, 0)
    else return (−Q − 1, D − R) end
  end
  -- At this point, N ≥ 0 and D > 0
  Q := 0; R := N
  while R ≥ D do
    Q := Q + 1
    R := R − D
  end
  return (Q, R)
end
Всё-таки, алгоритм есть.

Не по теме:

Подскажите, пожалуйста, какие тэги для псевдокода нужно использовать.

0
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
02.09.2017, 17:07
Я не говорил, что алгоритма нет. Я говорил, что результат будет неверным.
0
Модератор
Эксперт функциональных языков программирования
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,884
02.09.2017, 18:58
Цитата Сообщение от oobarbazanoo Посмотреть сообщение
Подскажите, пожалуйста, алгоритм деления с остатком для двух действительных чисел. Результат деления - два числа, делитель и остаток.
Не существует операции "деление с остатком двух действительных чисел". Потому что не существует понятия "остаток от деления двух действительных чисел".
0
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
02.09.2017, 19:16
Лучший ответ Сообщение было отмечено oobarbazanoo как решение

Решение

Цитата Сообщение от Shamil1 Посмотреть сообщение
Потому что не существует понятия "остаток от деления двух действительных чисел".
Вообще-то, существует.
https://ru.wikipedia.org/wiki/... 0.BB.D0.B0
Но как я сказал выше, во многих случаях результат не находится.
0
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
02.09.2017, 20:39  [ТС]
Massaraksh7, привидите случай для моего алгоритма, который будет посчитан неверно, пожалуйста.
0
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
02.09.2017, 20:48
1E15/PI
1
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
02.09.2017, 21:24
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm16.Button1Click(Sender: TObject);
var a,b,x,y:double;
begin
a:=1E10;b:=PI;
x:=Trunc(a/b);y:=a-x*b;
Label1.Caption:=FloatToStr(x);Label2.Caption:=FloatToStr(y);
 
x:=0; y:=a;
while (y>b) do
  begin
  x:=x+1;
  y:=y-b;
  end;
Label3.Caption:=FloatToStr(x);Label4.Caption:=FloatToStr(y);
end;
Изображения
 
1
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
04.09.2017, 10:09  [ТС]
Massaraksh7, Вы имеет ввиду что возникнут погрешности при очень длинной десятичной части?
0
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
04.09.2017, 15:56
Возникли.
Насколько большие - показано в #9 посте.
1
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
05.09.2017, 11:48  [ТС]
Massaraksh7, с чем это связано? Со спецификацией языка и компилятора или алгоритмическая проблема? Врятли последнее, так как в алгоритме ничто не использует или каким-либо образом меняет точность.
0
Айлурофил
 Аватар для Massaraksh7
513 / 447 / 111
Регистрация: 27.05.2017
Сообщений: 2,686
Записей в блоге: 5
05.09.2017, 14:45
С тем, что многие вещественные числа не могут быть представлены с абсолютной точностью в формате, который используется в компьютерах.
А для представления, например, одного трансцендентного числа (с абсолютной точностью) не хватит памяти всех компьютеров на земле.
1
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
05.09.2017, 16:34  [ТС]
Massaraksh7, понял, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.09.2017, 16:34
Помогаю со студенческими работами здесь

Калькулятор с *, /, -, +, остатком от деления и степенью
Калькулятор с помощью функций чтобы он *, /, -, +, остаток от деления и степень(((( помогите

Доказать, что 2^r-1 является остатком от деления 2^m-1 на 2^n-1
Здравствуйте! Помогите, пожалуйста, с решениемне несложной задачи: r - остаток от деления m на n. (0&lt;m&lt;n) Доказать, что 2^r-1...

Выбрать числа из массива А с заданным остатком от деления на M
Даны целые числа A1,A2,....Аn. Указать те из них, у которых остаток от деления на М равен L (0&lt;L&lt;M - 1). Задание - Сформировать...

Перевести из Паскаля в C#. Числа с определенным остатком от деления
Даны натуральные числа a1,a2,....,an . Указать те из них, у которых остаток от деления на M равен L (0&lt; L &lt; M - 1) program z; var...

заменить каждый из членов остатком от деления его квадрата n
дано натуральное n, целые числа а...a. В последовательности а,...,a заменить каждый из членов остатком от деления его квадрата n


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru