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

Сделать с помощью массива возведение двойки в произвольную степень. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шах и Мат http://www.cyberforum.ru/cpp-beginners/thread917004.html
Пользователь вводит координаты шахматного ферзя. Программа выводит шахматную доску на которой отмечены поля находящиеся под ударом и местоположение ферзя. (С помощью двумерного массива т.е ) Ну примерно так: ..+...+. +.+.+... .+++.... ++F+++ Помогите пож шахматную доску могу сделать а всё остальное не получается
C++ Работа с текстовым файлом. Удаление строки. День добрый.такой вопрос:мне нужно удалять из файла строчку с данными,если есть совпадение с введенной строкой.то есть,если я ввожу фамилию и такая фамилия есть в строке файла,который я открываю,то эту строчку нужно удалить.ПРоблема в том,что я не знаю,как удалить нужную строчку.И еще- вылезает запись "введите фамилию" столько раз,сколько записей в файле.а нужно по идее просто один раз ввести... http://www.cyberforum.ru/cpp-beginners/thread916989.html
C++ Массив размером 10 на 10, заполненный квадратами чисел. Объяснить код.
Создать массив размером 10 на 10 и заполнить его квадратами чисел.(первый индекс обозн. десятки, второй единицы). int main() { int m; for(int i=0;i<10;i++) { for(int u=0;u<10;u++) {
Посчитать сколько двоичных единиц содержит каждое число массива. C++
Всем доброго дня! Вообщем дали на практике задание: Дан цифровой массив, посчитать сколько двоичных единиц содержит каждое число. Помогите пожалуйста. Заранее спасибо.
C++ Безымянный аргумент функции http://www.cyberforum.ru/cpp-beginners/thread916947.html
функция принимает аргумент, но у него нет имени void f(int) { cout << "Hello world!"; } int main() { int n = 10;
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10) Сформировать случайным образом два массива d(10) и a(10). Сложить их. В новом массиве найти первый отрицательный элемент и вывести его на экран. Если отрицательных элементов нет, то дать об этом сообщение. помогите пожалуйста) подробнее

Показать сообщение отдельно
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
04.07.2013, 09:33     Сделать с помощью массива возведение двойки в произвольную степень.
Цитата Сообщение от Stereotip Посмотреть сообщение
Данный кусок кода решает задачу (относительно) если есть альтернативный вариант решения данной задачи поделитесь им будет интересно посмотреть на разные реализации)
я бы написал так.
C++
1
2
3
4
long long pw[64];
pw[0] = 1;
for(int i=1; i < 64; i++)
     pw[i] = pw[i-1] * 2;
Добавлено через 4 минуты
даже если представить, что мы решаем задачу без возможности использовать ранее посчитанные значения, то стоило бы считать так:
C++
1
2
3
4
long long pw[64];
pw[0] = 1;
for(int i=1; i < 64; i++)
     pw[i] = 1 << i;
Добавлено через 2 минуты
естественно, в самом первом варианте тоже было рациональнее использовать битовый сдвиг.

Добавлено через 1 минуту
вариант с pow() имеет сложность O(p * log2(p)), вариант с сдвигами O(p).
 
Текущее время: 03:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru