2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Равенство с целочисленными функциями и логарифмами
Сообщение18.03.2019, 16:20 


26/03/12
74
Для заданного положительного числа $a$ нужно найти максимальное положительное число $b$, $b \ge a$, при котором выполняется следующее равенство:
$$
\lceil \log_2 a \rceil  = \lceil \log_2 b \rceil.
$$

В тривиальном случае, когда $a = 2^n$, где $n$ - целое, ответом будет $b = a$, так как любое число, превышающее $a$, приведет к увеличению на единицу $\lceil \log_2 a \rceil$. Интересуют остальные случаи.

Извините, если задачка глупая, но ее решение придумать не могу. Читал про свойства целочисленных функций, но не приходит на ум, как их здесь можно применить.

 Профиль  
                  
 
 Re: Равенство с целочисленными функциями и логарифмами
Сообщение18.03.2019, 16:31 
Заслуженный участник


11/05/08
32166
kisupov в сообщении #1382698 писал(а):
В тривиальном случае, когда $a = 2^n$, где $n$ - целое, ответом будет $b = a$, так как любое число, превышающее $a$, приведет к увеличению на единицу $\lceil \log_2 a \rceil$.

Если это так, то имелось в виду округление вверх (а для стандартного округления, т.е. вниз, задача и некорректна).

Я так понял, что Вас затрудняет запись ответа. Наиболее разумный вариант: "если $a\in[2^n;2^{n+1})$, то...". Можно, конечно, повозиться с записью через разные целые части и логарифмы, но это, на мой вкус, будет извращением.

 Профиль  
                  
 
 Re: Равенство с целочисленными функциями и логарифмами
Сообщение18.03.2019, 16:40 


26/03/12
74
ewert в сообщении #1382701 писал(а):
kisupov в сообщении #1382698 писал(а):
В тривиальном случае, когда $a = 2^n$, где $n$ - целое, ответом будет $b = a$, так как любое число, превышающее $a$, приведет к увеличению на единицу $\lceil \log_2 a \rceil$.

Если это так, то имелось в виду округление вверх (а для стандартного округления, т.е. вниз, задача и некорректна).

Я так понял, что Вас затрудняет запись ответа. Наиболее разумный вариант: "если $a\in[2^n;2^{n+1})$, то...". Можно, конечно, повозиться с записью через разные целые части и логарифмы, но это, на мой вкус, будет извращением.


Задачка возникла из практики. Есть некоторая величина $q$, точное значение которой определяется так: $q = \lceil \log_2 a \rceil$, где $a$ - некоторое положительное число. Но $a$ вычислить сложно, и вместо него я использую приближенный аргумент $b$, причем известно, что $b \ge a$. Возник вопрос, при какой максимальной погрешности в $b$ (то есть максимальной разнице $b-a$) я получу правильный результат, вычисляя $q = \lceil \log_2 b \rceil$.

 Профиль  
                  
 
 Re: Равенство с целочисленными функциями и логарифмами
Сообщение18.03.2019, 17:13 
Заслуженный участник


11/05/08
32166
kisupov в сообщении #1382705 писал(а):
Возник вопрос, при какой максимальной погрешности в $b$ (то есть максимальной разнице $b-a$) я получу правильный результат, вычисляя $q = \lceil \log_2 b \rceil$.

Ну, при в среднем полуторакратной, естественно. Но это в среднем. А какой с этого может быть практический прок -- непонятно, раз неизвестно, насколько требуемая величина отличается от степени двойки.

Разве что такой банальный: повышать точность вычисления нужно до тех пор, пока расстояние до степени двойки от приближенного значения не окажется больше, чем погрешность вычисления. Если получится.

 Профиль  
                  
 
 Re: Равенство с целочисленными функциями и логарифмами
Сообщение18.03.2019, 18:52 


02/12/18
88
Для того, чтобы ошибки не было, необходимо $\log_2 b \leq q$. Это можно переписать так: $b \leq 2^{\lceil \log_2 a \rceil}$. Т.е. максимальная разница $2^{\lceil \log_2 a \rceil} - a$. Например, для $a=3.99$ эта разница равна $0.01$.

 Профиль  
                  
 
 Re: Равенство с целочисленными функциями и логарифмами
Сообщение26.02.2023, 12:01 


05/09/16
12232
kisupov в сообщении #1382705 писал(а):
Есть некоторая величина $q$, точное значение которой определяется так: $q = \lceil \log_2 a \rceil$, где $a$ - некоторое положительное число. Но $a$ вычислить сложно, и вместо него я использую приближенный аргумент $b$, причем известно, что $b \ge a$. Возник вопрос, при какой максимальной погрешности в $b$ (то есть максимальной разнице $b-a$) я получу правильный результат, вычисляя $q = \lceil \log_2 b \rceil$.

Максимально будет $b-a=a$. Пример. Пусть $a=2^{63}+1$ тогда $\lceil \log_2  a\rceil =64$ и тогда при $b=2^{64}$ получаем $\lceil \log_2  b\rceil=64$ и $b-a=2^{63}-1=9223372036854775807$

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


11/03/08
10093
Москва
Полагая, что знак означает "минимальное целое, большее аргумента", видим, что надо брать максимальное b, для которого
$\lceil \log_2 a \rceil  = \lceil \log_2 b \rceil$
то есть $b=2^{\lceil \log_2 a \rceil}$

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

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



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

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


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

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