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

найти наименьшее целое число вида 2^r превосходящее n - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
azhankuaku
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 9
20.06.2011, 00:06     найти наименьшее целое число вида 2^r превосходящее n #1
дано целое число n . найти наименьшее целое число вида 2^r превосходящее n
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 00:06     найти наименьшее целое число вида 2^r превосходящее n
Посмотрите здесь:

C++ Найти наименьшее целое число K, при котором выполняется неравенство 3K > N
C++ Найти наименьшее целое положительное число K, квадрат которого превосходит N
Дано целое число N (> 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число) C++
C++ Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
Простенький массив. Найти наименьшее целое число k, обладающее свойством C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
20.06.2011, 00:18     найти наименьшее целое число вида 2^r превосходящее n #2
Вот так попробовал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
 
int main( int argc, char * argv[] )
{
    unsigned int number = 15;
    unsigned int degree = 0;
    
    while ( pow ( 2.0, degree * 1.0 + 1 ) < number )
        degree++;
       
    std::cout << pow ( 2.0, degree * 1.0 ) << std::endl;
    std::cin.get();
    return 0;
}
dakuenjery
18 / 15 / 3
Регистрация: 13.06.2011
Сообщений: 116
20.06.2011, 00:26     найти наименьшее целое число вида 2^r превосходящее n #3
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
using namespace std;
 
#define x 2
 
int main()
{
    int n = 149;
    int r = 1;
 
    for(; pow(x, r) < n; ++r);
 
    cout << pow(x, r);
 
    cin.get();
 
    return 0;
}
Как только условие будет ложно, это первое большее значение и ,разумеется, наименьшее
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
20.06.2011, 01:32     найти наименьшее целое число вида 2^r превосходящее n #4
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <math.h>
 
#define X 2
 
int getX(int);
int GetX(int);
 
int main()
{
 
    clock_t start = clock();
    for (int i=0; i<1000000; i++)
        getX(149);
    clock_t end   = clock();
    printf("dakuenjery in %f sec\n",(end - start) / float(CLOCKS_PER_SEC));
 
 
    start = clock();
    for (int i=0; i<1000000; i++)
        GetX(149);
    end   = clock();
    printf("Daemon025  in %f sec\n",(end - start) / float(CLOCKS_PER_SEC));
 
    getch();
    return 0;
}
 
int GetX(int n)
{
    int x = 1;
    while (x < n)
        x <<=1;
    return x;
}
 
int getX(int n)
{
    int r=1;
 
    for(; pow(X, r) < n; ++r);
 
    return pow(X,r);
}
dakuenjery
18 / 15 / 3
Регистрация: 13.06.2011
Сообщений: 116
20.06.2011, 01:47     найти наименьшее целое число вида 2^r превосходящее n #5

Не по теме:

Daemon025, тонко намекаешь, что твой код быстрее? )



Добавлено через 6 минут
Цитата Сообщение от Daemon025 Посмотреть сообщение
x <<=1;
насколько мне известно, смещение умножает на 2, на не возводит в степень... Можешь пояснить че твой код делает?))
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.06.2011, 02:19     найти наименьшее целое число вида 2^r превосходящее n #6
dakuenjery, хм... А какая разница между 2^3 и 2 * 2 * 2?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2011, 02:23     найти наименьшее целое число вида 2^r превосходящее n
Еще ссылки по теме:

C++ Дано целое число , лежащие в диапазоне от -999 до 999.Вывести строку - словесного описание данного числа вида "отрицательное двухзначное число", "отри
C++ Найти первое простое число, превосходящее 10^(100)
Как найти первое простое число, превосходящее 10^100? C++

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

Или воспользуйтесь поиском по форуму:
dakuenjery
18 / 15 / 3
Регистрация: 13.06.2011
Сообщений: 116
20.06.2011, 02:23     найти наименьшее целое число вида 2^r превосходящее n #7
ээ логично)
моск офф, бывает)
Yandex
Объявления
20.06.2011, 02:23     найти наименьшее целое число вида 2^r превосходящее n
Ответ Создать тему
Опции темы

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