Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение СЛУЧАЙНЫХ элементов массива поочередно https://www.cyberforum.ru/ cpp-beginners/ thread2419909.html
Наткнулся на задание по типу "напишите код для игры в крестики-нолики...." и сразу же в голове появился некий алгоритм решения этой задачи. Не хочу искать готовые коды, меня интересует моя...
C++ Тосно квадрат
Дано число N. Найти минимальное число К при котором среднее геометрическое этих чисел будет равно целому числу. Пример Входные данные 24 Исходные данные 6 Ограничения 1<=N<=1000000000;
C++ Последовательность выполнения префиксных и постфиксных операций i nt v = 20; cout << v + 3 ; // 23 cout << ++ v ; ... https://www.cyberforum.ru/ cpp-beginners/ thread2419894.html C++ Сложная задача с рекурсией Для заданного одномерного массива X из N элементов проверить, что для всех элементов массива выполняется условие –10<<20. Рекурсивную функцию применять каждый раз отдельно для каждой из половин... https://www.cyberforum.ru/ cpp-beginners/ thread2419892.html
C++ Упорядочить список по имени массивов
Дан список целочисленных массивов (максимально 30 массивов). Каждый массив задается одной строкой в формате: ИМЯ= , максимальная длина строки – 80 символов. Упорядочить список по имени массивов. Если...
C++ Сформировать одномерный массив, содержащий суммы четных строк матрицы https://www.cyberforum.ru/ cpp-beginners/ thread2419885.html
2. Дана целочисленная матрица 9x9. Сформировать одномерный массив, содержащий суммы четных строк. Заранее спасибо за уделенное время!)
C++ Найти количество элементов массива, расположенных после минимального элемента 1. В массиве Х(N) найти k1 – количество элементов массива, расположенных после минимального элемента и k2 – количество элементов массива, расположенных после максимального элемента. Заранее... https://www.cyberforum.ru/ cpp-beginners/ thread2419884.html C++ Замена символа в строке
Есть простая задача: Дана строка. Заменить все символы 'a' на 'A' Решена задача была так: char str = ""; cout << "In: "; gets_s(str); for (int i = 0; str != 0; i++) { if (str == 'a') str =...
C++ Хеширование пароля с солью Как реализовать в программе авторизацию? Чтобы при регистрации нового пользователя его данные были записаны в файле в виде:  login;  salted_hash_password (результат хэширования... https://www.cyberforum.ru/ cpp-beginners/ thread2419870.html C++ Создание дерева оптимального поиска https://www.cyberforum.ru/ cpp-beginners/ thread2419859.html
Всем привет. Есть такая ситуация: необходимо провести считывание файла с жесткого диска, сортировку, вывод, бинарный поиск по году, создание ДОП, вывод ДОП и поиск по ДОП. Всё шло прекрасно до тех...
C++ Считать с файла в массив структур
Всем привет, у меня есть структура, сделала корректный ввод в файл как теперь считать с файла в массив структур? typedef struct { char family; // Фамилия абонента char name; // Имя абонента...
C++ C++ крестики-нолики рандомный ход компьютера https://www.cyberforum.ru/ cpp-beginners/ thread2419845.html
Помогите разобраться с функций хода компьютера К(). использую рандом, но при выполнении программы ход компьютера может состоять из заполнения нескольких полей вместо одного. #include <iostream>...
Модератор
Эксперт С++
11307 / 9290 / 5572
Регистрация: 18.12.2011
Сообщений: 24,790
16.03.2019, 16:01 0

Оптимизация log - C++ - Ответ 13408740

16.03.2019, 16:01. Показов 611. Ответов 4
Метки (Все метки)

Ответ

у меня получается
y=j-i+1
k=ln(y)/ln(2)
k=log2(y)
2k=y=j-i+1
Т.е. к имеет всего один единичный бит в представлении (остальные нули).
Т.о. для нахождения k надо вычислить j-i+1 и найти позицию старшего единичного бита.

Как это сделать сходу не соображу
если циклом, то так
C++
1
2
3
4
k=1;
int t=j+i-1;
while(t>>=1)
   k<<=1;
В любом случае - это гораздо эффективнее, чем считать 2 логарифма.

Вернуться к обсуждению:
Оптимизация log C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2019, 16:01
Готовые ответы и решения:

оптимизация по скорости sin cos log e
Нужна помощь по курсачу. Задание состоит в следующем: написать sin cos log e работающие в 2 раза...

По заданым значениям х и у найти значение величины log x y (log с основанием х)
Подскажите,где ошибка в if-else.Потому-что,когда вводить вместо х или у 0,почему-то еррор не...

по заданым значениям х и у найти значение величины log x y (log с основанием х )
я в принципе понимаю как написать эту программу,но,хоть убейте,в хелпе visual studio 2008 не могу...

функция log
Ув.Форумчане, помогите мне необходимо написать эту формула в 3 функция получается. 1) стандартная...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2019, 16:01

Console log
Доброго времени суток всем. Подскажите, а как сделать перехват из консольной программы что бы всё...

Перегрузка Log(2)
u1 = sin(3.14*2/12)/(log(2)); Пишет, что перегруженная функция. Что сделать?

Функция log
Здравствуйте! Такой вопрос. Я использовала функцию log для нахождения логарифма по основанию 2 от...

Ошибка с Log(10)
Ругается &quot;error C2668: log: неоднозначный вызов перегруженной функции&quot; в этой строчке if (...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.