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
8503
Цюрих
А дробные пределы суммирования вас не смущают?

 Профиль  
                  
 
 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 ] 

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



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

Сейчас этот форум просматривают: Vasily2024


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

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