Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программа возвода числа в степень - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Внешняя переменная в нескольких файлах http://www.cyberforum.ru/cpp-beginners/thread640033.html
file01.h #ifndef FILE01_H_ #define FILE01_H_ int blem = 1; #endif file02.h
C++ Определить корректность введённого скобочного выражения на основе стека Задание: Написать программу для определения правильности введённого скобочного выражения на основе стека, реализованного с помощью статического массива. сабж. каким образом это можно сделать. http://www.cyberforum.ru/cpp-beginners/thread640022.html
C++ Передача матрицы в функцию
Доброго времени суток. Возникло несколько вопросов: Почему при вызове Matrix1 выдаётся ошибка, но в то же время Matrix2 работает нормально? const int M=10; const int N=7; void Matrix1(int N, int...
C++ Перечислении: их ввод
Не могу понять как это реализовать: Вот сама задача. Есть Диски(CD/DVD). Пользователь вводит Названия диска (тип string). И выбирает CD или DVD(тип перечисление,). После этого что ввело надо...
C++ Вычислить первые 7 членов ряда http://www.cyberforum.ru/cpp-beginners/thread640005.html
Мне нужно запрограммировать ряд. Вычислить первые 7 членов. Моя функция не работает. double HyperGeom(double a, double b, double c, double d) { double value = 1; ...
C++ MinGW - как вывести список установленных модулей с версией? Имеем всем известный MinGW + MSYS. Задача: через Terminal MSYS (который внутри MinGW) вывести список установленных в MinGW пакетов (программ и библиотек), с указанием их версий. аналогичная... подробнее

Показать сообщение отдельно
nameless
Эксперт С++
338 / 302 / 14
Регистрация: 16.06.2009
Сообщений: 486
20.08.2012, 22:05
Если показатель степени - неотрицательный, то можно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int pow(int number, unsigned deg) {
   int p = number, result = 1;
   bool state = true;
   while (state) {
      if (deg & 1) {
         result *= p;
      }
      deg >>= 1;
      -deg & (~deg) ? p *= p : state = false;
   }
   return result;
}
 
int main() {
   std::cout << pow(2, 8) << std::endl;
}
http://liveworkspace.org/code/616d08a8ce2a3fae600e4e4aed9a13c4
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru