2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 09:46 


03/12/16
20
Доброе утро. Есть, к примеру, такие вот выражения (в качестве целочисленного деления использую паскальный div):
1. $\frac{n \operatorname{div} 2}{n \operatorname{div} 4}$ - как привести их под один div, ну или, идеально, свести к простому делению и округлению.
2. $n - n \operatorname{div} 2$ - тот же вопрос, как избавиться от оператора div?
Да и вообще, какими свойствами обладает этот оператор? Знаний линейной алгебры не хватает, чтобы вывести их самому :)

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 10:20 
Заслуженный участник


27/04/09
28128
Алгебра или линейная алгебра тут незачем. $m\operatorname{div}n = \lfloor m/n\rfloor$ (частное, округленное вниз). Ещё можно пользоваться тем, что $m = (m\operatorname{div}n)n + m\bmod n$.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 10:28 


03/12/16
20
arseniiv, свойства скобочек округления я тоже не знаю, так что, если Вы знаете, то будьте добры поделиться.
$\frac{\left\lfloor\frac{n}{2}\right\rfloor}{\left\lfloor\frac{n}{4}\right\rfloor}$ чему будет равно?
Мне нужно аналитически это преобразовать к более менее человеческому виду :D

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 11:25 
Заслуженный участник
Аватара пользователя


23/07/05
17973
Москва
Genuster в сообщении #1216905 писал(а):
Мне нужно аналитически это преобразовать к более менее человеческому виду
Нельзя. Операции целочисленного деления и нахождения остатка не выражаются через арифметические операции с действительными числами.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 12:26 
Аватара пользователя


27/01/09
814
Уфа
Слово "паскальный" ассоциируется с областью цифровой техники. Попробуйте представить число в виде натурального степенного ряда как заменителя действительного числа. Может поможет представление о том, что div 2 это сдвиг регистра в сторону младшей части. В первом случае останется член в первой степени, во втором случае возможно полезно рассмотреть случаи четного и нечетных чисел.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 12:32 
Заслуженный участник


27/04/09
28128
Genuster
Ну, свойств у них много разных. Можете глянуть главу 3 в «Конкретной математике» Кнута, Грэхема, Паташника.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 13:08 


03/12/16
20
Someone, грустно:)
Chifu, суть как раз в том, что мне это надо ручками преобразовывать, анализируя алгоритм, очень не хотелось оставлять в таком виде, ну что поделать)

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 13:56 
Заслуженный участник


27/04/09
28128
Ну вот ради оптимизации можете в сдвиги вправо преобразовать: $n\operatorname{div}2^k = n\operatorname{shr}k, k \in\mathbb Z_{\geqslant0}$, хотя современные компиляторы, вроде, сами это делать должны. Можно гнаться за сомнительными изменениями в деталях типа $n-n\operatorname{shr}1 = n\operatorname{shr}1 + n\wedge1$, но неизвестно, что из двух будет, и в каких случаях, быстрее.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 14:09 


03/12/16
20
Ладно, давайте все задание выдам, может понятнее станет, что я хочу :)
$$3+\sum\limits_{i=1}^{n}(3+\sum\limits_{j=1}^{\log(i(i-1))+1}(3+\sum\limits_{m=1}^{\frac{n-n\operatorname{div}2+1}{n\operatorname{div}4}}(7)))$$
И получился у меня не самый приятный многочлен:
$7\frac{n-n\operatorname{div}2+1}{n\operatorname{div}4}\log(n!)+3\log(n!)+7n\frac{n-n\operatorname{div}2+1}{n\operatorname{div}4}+6n+3$

Очень хочется поизбавляться от дробей некрасивых.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 14:17 
Заслуженный участник
Аватара пользователя


16/07/14
8461
Цюрих
А дробные пределы суммирования вас не смущают?

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение17.05.2017, 14:19 


03/12/16
20
Да нет, не очень :D

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение18.05.2017, 19:25 
Заслуженный участник
Аватара пользователя


18/01/13
12044
Казань
Genuster в сообщении #1216898 писал(а):
1. $\frac{n \operatorname{div} 2}{n \operatorname{div} 4}$ - как привести их под один div, ну или, идеально, свести к простому делению и округлению.
2. $n - n \operatorname{div} 2$ - тот же вопрос, как избавиться от оператора div?

Не-а! Судя по окончательному заданию, вам не эти выражения нужны. А целая часть дроби $\frac{n-n \operatorname{div} 2+1}{n \operatorname{div} 4}$. Кстати, а какие значения принимает $n$? Вы пробовали посчитать эту дробь и посмотреть на нее? Забавное зрелище, надо вам сказать :-)

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение18.05.2017, 20:21 
Аватара пользователя


27/01/09
814
Уфа
Если n - целые, положительные, начиная с 0, размером в 5 бит, то эта дробь в виде частного дает ряд {#,#,#,#,3,4,4,5,2,3,3,3,2,2,2,3,(2)}, где # - деление на 0, а (2) - повторяющееся в дальнейшем значение 2. Если округлять дробь к ближайшему целому, то переходной процесс более длительный.

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение22.05.2017, 22:59 


03/12/16
20
provincialka, я постарался взять какие-нибудь базовые выражения, чтобы было проще выяснять истину :mrgreen:
$n$ - натуральные, а про посчитать дробь... Страшное это дело, когда преподы используют костыльные программы для написания вариантов работ :D

Chifu, что значит размером в пять бит? Что количество бит в данном случае определяет/ограничивает?

 Профиль  
                  
 
 Re: Преобразование операции целочисленного деления к обычному
Сообщение22.05.2017, 23:18 
Аватара пользователя


27/01/09
814
Уфа
Genuster в сообщении #1218101 писал(а):
Chifu, что значит размером в пять бит? Что количество бит в данном случае определяет/ограничивает?
Это значит, что я взял числа n от 0 до 31 и посмотрел, что получится.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group