Форум программистов, компьютерный форум CyberForum.ru

Вычисление целочисленного логарифма по основанию 2 - C++

Восстановить пароль Регистрация
 
lerka1996
2 / 2 / 0
Регистрация: 04.03.2015
Сообщений: 76
07.10.2015, 16:48     Вычисление целочисленного логарифма по основанию 2 #1
Напишите программу для вычисления целочисленного логарифма по основанию 2. На вход программе в первой строке подается число T, далее следует T строк с тестами. Каждый тест состоит из одного целого положительного числа ai<109, для каждого ai нужно вывести на отдельной строке такое наибольшее число p, что 2p≤ai. Гарантируется, что ai≥1 . При решении задачи вы можете определять любые вспомогательные функции, если они вам нужны, более того рекомендуется вынести вычисление логарифма в отдельную функцию.

Sample Input:
5
24958
48569

Sample Output:
14
15
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2015, 16:48     Вычисление целочисленного логарифма по основанию 2
Посмотрите здесь:

C++ вычисление среднего геометрического для целочисленного массива
Log по основанию 2 C++
Вычисление логарифма по основанию C++
Перевод из системы по основанию 10 в систему по основанию 8 C++
Перевод из системы по основанию 16 в систему по основанию 10 C++
Перевод из системы по основанию 16 в систему по основанию 10 C++
Перевод из системы по основанию 8 в систему по основанию 10. C++
C++ Как в С++ оформить запись ln (логарифма по основанию е (экспонента)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ture
 Аватар для ture
404 / 297 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
07.10.2015, 16:50     Вычисление целочисленного логарифма по основанию 2 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
int log(int);
 
int main() {
    
    int n;
    std::cin >> n;
 
    while(n--) {
        int k;
        std::cin >> k;
        
        std::cout << log(k) << std::endl;
    }
            
    //system("pause");
    return 0;
}
 
int log(int k) {
    int p = -1;
 
    do {
        k >>= 1;
        ++p;
    } while(k);
 
    return p;
}
Yandex
Объявления
07.10.2015, 16:50     Вычисление целочисленного логарифма по основанию 2
Ответ Создать тему
Опции темы

Текущее время: 22:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru