С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/181: Рейтинг темы: голосов - 181, средняя оценка - 4.83
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272

Остаток и целая часть от деления отрицательного числа

27.09.2013, 21:49. Показов 37902. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В математике остаток от деления всегда положительное число..ну или ноль...
Как вы думаете...за что они так с нами? и почему они не сделали как в математике?
C#
1
2
Console.WriteLine(-10 / 3);//-3
Console.WriteLine(-10 % 3);//-1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2013, 21:49
Ответы с готовыми решениями:

Возвести во вторую степень число m/n , если его целая часть больше числа k, где k остаток от деления m на 5
Возвести во вторую степень число m/n , если его целая часть больше числа k, где k остаток от деления m на 5.

Найти целую часть от деления M на N и остаток от деления M на N
Даны целое неотрицательное число M и целое положительное число N. Найти целую часть от деления M на N и остаток от деления M на N. ...

Найти остаток от деления второго числа на 3, и произвести расчет площади фигур
вводится два числа: одно типа int,второе типа dooble,которые соответствуют сторонам прямоугольника,либо высоте и основанию треугольника...

19
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.09.2013, 21:57
IcyWind,
при делении в шарпе двух целых имеется ввиду операция
https://www.cyberforum.ru/cgi-bin/latex.cgi?a\in Zhttps://www.cyberforum.ru/cgi-bin/latex.cgi?b\in Z a / b\equiv [\frac{a}{b}]
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 21:59  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
IcyWind,
при делении в шарпе двух целых имеется ввиду операция
https://www.cyberforum.ru/cgi-bin/latex.cgi?a\in Zhttps://www.cyberforum.ru/cgi-bin/latex.cgi?b\in Z a / b\equiv [\frac{a}{b}]
Да, спасибо...я это уже заметил...Я просто жалуюсь)) а ваше мнение? Стоило ли им определить эту операцию по-другому?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.09.2013, 22:05
IcyWind, нет не стоило

Добавлено через 5 минут
IcyWind, к этому быстро привыкаешь а потом не понимаешь, как без этого жил. Прям как с алкоголем и женщинами И если первое не так завлекает, то второе запросто.

После паскаля немного непривычно, но потом находишь это естественным
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 22:07  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
IcyWind, нет не стоило

Добавлено через 5 минут
IcyWind, к этому быстро привыкаешь а потом не понимаешь, как без этого жил. Прям как с алкоголем и женщинами И если первое не так завлекает, то второе запросто.

После паскаля немного непривычно, но потом находишь это естественным
У меня другое
я уже довольно давно "общаюсь" с шарпом. Просто ещё никогда не сталкивался с этим. А сейчас алгоритм один полетел как раз-таки на подобных примерах...начал копаться...и нашёл это) вот и удивился) пришлось вставлять if на отрицательный остаток...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.09.2013, 22:27
C#
1
Console.WriteLine(-10 / 3.0);
??

как с этим нельзя столкнуться позже самых элементарных задачек даже не представляю...
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 22:34  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
C#
1
Console.WriteLine(-10 / 3.0);
??

как с этим нельзя столкнуться позже самых элементарных задачек даже не представляю...
Элементарные задачки были на паскале и плюсах) а здесь сразу ООП, наследование, лямбы...линки...вот и не довелось как-то)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
27.09.2013, 22:36
IcyWind, я вот с паскаля переходил. Не надо все и сразу делать.
Вариант №1
C#
1
Console.WriteLine(-10 / 3.0);
вариант №2
C#
1
Console.WriteLine(-10.0 / 3);
вариант №3
C#
1
Console.WriteLine(-10 / (double)3);
выбираем любой.
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 22:38  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
IcyWind, я вот с паскаля переходил. Не надо все и сразу делать.
Вариант №1
C#
1
Console.WriteLine(-10 / 3.0);
вариант №2
C#
1
Console.WriteLine(-10.0 / 3);
вариант №3
C#
1
Console.WriteLine(-10 / (double)3);
выбираем любой.
Да, конечно это я всё знаю, спасибо. Я создал эту тему не сколько для "вопроса, помогите", а сколько для "пожаловаться"
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.09.2013, 22:39
Не стоит забывать, что остаток от деления может быть как положительный, так и отрицательный. Просто в классической арифметике принято использовать положительный вариант.
В программировании дело обстоит иначе, т.к. это дело более формально описано.
Кстати, отрицательный остаток идет еще со стандарта C99.
1
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 22:43  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Не стоит забывать, что остаток от деления может быть как положительный, так и отрицательный. Просто в классической арифметике принято использовать положительный вариант.
В программировании дело обстоит иначе, т.к. это дело более формально описано.
Кстати, отрицательный остаток идет еще со стандарта C99.
Про стандарт C99 интересно...а в более ранних? Каждый компилятор по-своему?
p.s. первый раз слышу про "отрицательный остаток", если честно)
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.09.2013, 22:53
Цитата Сообщение от IcyWind Посмотреть сообщение
первый раз слышу про "отрицательный остаток", если честно
Ну как же так?
a = qd + r, где а — делимое, d — делитель, r — остаток, а q — результат деления без остатка.
Какой будет остаток деления –10 на 3?
–10 = (–3) * 3 + (–1)
Остаток равен –1.
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 22:57  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Ну как же так?
a = qd + r, где а — делимое, d — делитель, r — остаток, а q — результат деления без остатка.
Какой будет остаток деления –10 на 3?
–10 = (–3) * 3 + (–1)
Остаток равен –1.
В тех определениях, которые видел я, всегда оговаривалось, что 0<=r<d, ну или оговаривалось, что r - это либо ноль, либо натуральное число

Наверное, я видел только арифметические определения. Видимо, есть какие-то другие)
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.09.2013, 23:10
Цитата Сообщение от IcyWind Посмотреть сообщение
В тех определениях, которые видел я, всегда оговаривалось, что 0<=r<d, ну или оговаривалось, что r - это либо ноль, либо натуральное число
Это определение для остатка от деления натуральных чисел.
Отрицательные числа не являются натуральными, потому определение другое.
0
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 23:13  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Это определение для остатка от деления натуральных чисел.
Отрицательные числа не являются натуральными, потому определение другое.
Википедия с вами не согласна статья "Деление_с_остатком"
Заголовок
"Целые числа"

Примеры:
так как остатком называется неотрицательное число, которое в сумме с произведением неполного частного и делителя даёт делимое, то математически верным будет следующее решение :
При делении с остатком отрицательного числа a = -78 на b = 33 получаем неполное частное q = -3 и остаток r = 21. Проверка: -78 = 33 \cdot (-3) + 21.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
27.09.2013, 23:16
С вами википедия тоже не согласна:
If a and d are integers, with d non-zero, then a remainder is an integer r such that a = qd + r for some integer q, and with |r| < |d|.

When defined this way, there are two possible remainders. For example, the division of −42 by −5 can be expressed as either
−42 = 9×(−5) + 3

as is usual for mathematicians,[citation needed] or
−42 = 8×(−5) + (−2).

So the remainder is then either 3 or −2.
Опять же, в русской терминологии я не очень разбираюсь, но в английской есть две операции: modulo и remainder.
В шарпе оператор % — это именно remainder.
1
9 / 9 / 9
Регистрация: 19.09.2011
Сообщений: 272
27.09.2013, 23:21  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
С вами википедия тоже не согласна:


Опять же, в русской терминологии я не очень разбираюсь, но в английской есть две операции: modulo и remainder.
В шарпе оператор % — это именно remainder.
Классно
оттуда же:
C99 chooses the remainder with the same sign as the dividend a. (Before C99, the C language allowed either choice.) Perl, Python (only modern versions), and Common Lisp choose the remainder with the same sign as the divisor d. Haskell and Scheme offer two functions, remainder and modulo – PL/I has mod and rem, while Fortran has mod and modulo; in each case, the former agrees in sign with the dividend, and the latter with the divisor.
0
Заблокирован
29.09.2013, 12:40
Цитата Сообщение от IcyWind Посмотреть сообщение
В математике остаток от деления всегда положительное число..
Это кто сказал?
Доказательство:
-1.5= -1*(1+0.5) -принято минус выносить в целую часть, но- сочетательный закон умножения= 1*(-1-0.5)) - верно и с отрицательным остатком 0.5.
В итоге % вертает остаток сохраняя в нем знак.

Добавлено через 33 минуты
Пример:
C#
1
-11 % 5 = -2 - 1/5 (или -2 - 2/10) или -2.2
Целую часть отбрасываем (%), в итоге -1/5. Вертаем числитель -1 (сохраняя знак -).
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
29.09.2013, 12:43
-1.5= -2+0.5, остаток положительный
0
Заблокирован
29.09.2013, 12:49
Цитата Сообщение от Psilon Посмотреть сообщение
-1.5= -2+0.5, остаток положительный
Где вы при делении -2 взяли? Читайте выше ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2013, 12:49
Помогаю со студенческими работами здесь

Написать программу, которая используя функции mod (остаток от деления) и div (целая часть от деления)
Написать программу, которая используя функции mod (остаток от деления) и div (целая часть от деления) находит сумму чисел любого...

Остаток от деления отрицательного числа
Есть задача: Условие Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД...

В выделенном фрагменте вместо каждого отрицательного числа записать целую часть от деления на 3 (Excel)
34. Excel : В выделенном фрагменте вместо каждого отрицательного числа записать целую часть от деления этого числа на 3, а соответствующую...

Целая часть от деления
Здравствуйте уважаемые форумчане! Есть ли в языке СИ функция, которая возвращает целю часть от числа( к примеру в паскале (div)) А если...

Целая часть от деления....
Помогите вычислить целую часть от деления чисел n/m плиззз Добавлено через 15 минут Пы сы: мне надо составить программу в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru