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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
azhankuaku
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 9
#1

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

20.06.2011, 00:06. Просмотров 1241. Ответов 6
Метки нет (Все метки)

дано целое число n . найти наименьшее целое число вида 2^r превосходящее n
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2011, 00:06     Найти наименьшее целое число вида 2^r, превосходящее n
Посмотрите здесь:

Простенький массив. Найти наименьшее целое число k, обладающее свойством - C++
Вот задание: Дана целочисленная матрица А размерности m n. Найти наименьшее целое число k, обладающее таким свойством: хотя бы в одной...

Найти наименьшее целое число K, при котором выполняется неравенство 3K > N - C++
1.Если дано трехзначное число, например 123 его можно представить в виде 3+2*10+1*10*10. Воспользовавшись этой информацией, создайте...

Найти наименьшее целое положительное число K, квадрат которого превосходит N - C++
Не получается решить задачи.... 2)Дано целое число N (> 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N:...

Найти наименьшее целое положительное число К, квадрат которого превосходит N - C++
Данное целое число N (> 0). Найти наименьшее целое положительное число К, квадрат которого превосходит N: К2> N. Функцию нахождения...

Для данного числа m найти наименьшее положительное целое число с суммой цифр m и которое делится m - C++
Для данного числа m найти наименьшие положительное целое число с суммой цифр m, которое делится m. ВВОД: Во входном файле записано m ...

Найти первое простое число, превосходящее 10^(100) - C++
Найти первое простое число, превосходящее 10^(100).10 в степени 100 как это осуществить в с++?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
533 / 438 / 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
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
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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
Еще ссылки по теме:

Как найти первое простое число, превосходящее 10^100? - C++
Как найти первое простое число, превосходящее 10^100?я уже бессилен.

Cчитывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа - C++
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится ...

Дано целое число N>0.Найти сумму 1+1/2+1/3...1/N - C++
Дано целое число N&gt;0.Найти сумму 1+1/2+1/3...1/N

Найти подстроку, содержащую целое число - C++
Написал программу... и вроде бы все правильно, ошибок нет, но расчеты не производит... Писал на Embracadero XE3. Знаю, все тут древнее,...


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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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