Возведение в числа в степень в C и C++
Для того чтобы возвести число в степень можно воспользоваться функцией pow()
Рассмотрим короткий пример
#include <cmath> #include <iostream> using namespace std; int main() { double a=5, // a - число которое мы возводим в степень double b=3; // b - степень в которую мы возводим число cout << pow(a,b); // применяем функцию pow и выводим результат в cout (на экран) cin.get(); // ждем нажатия на любую клавишу, чтобы выйти из программы }
Функция pow является частью библиотеки cmath, и поэтому её заголовок обязательно должен быть подключен в секции #include, как это сделано в примере. Также cout и cin являются частью библиотеки iostream и она у нас тоже подключена.
Давайте рассмотрим еще несколько примеров:
Пример, в котором степень и число задается пользователем:
#include <iostream> #include <cmath> using namespace std; int main(){ setlocale(0, ""); double a, b; cout << "Возведение числа в степень:)" << endl; cout << "Пример: 5^2" << endl; cout << "Введите число: " << endl; cin >> a; cout << "Введите степень: " << endl; cin >> b; cout << "Ваш ответ = " << pow(a,b) << endl; return 0; }
Этот пример уже сложнее тем, что числа, которые мы будем возводить в степень вводит пользователь.
Возведение числа 2 в степень n при помощи сдвига на n бит
int pow2(int n) { return 1<<n; }
Пояснение: возведение "2" в степень "n" реализуется с помощью сдвига, в общем случае:
- сдвиг влево (в сторону старших разрядов) реализует умножение на два,
- сдвиг вправо (в сторону младших разрядов) реализует деление на два.
Число n
должно быть целочисленным.
Пример, в котором не используется функция pow()
#include <iostream> using namespace std; int main(){ int n, a; cin>>n>>a; int tmp = n; if (a == 0) { cout<<1; return 0; } for(int i = 1; i < a; i++) { n*=tmp; } cout<<n; }
В этом примере пользователь вводит числа n
и a
. Где n
- число, которое возводится в степень, a
- степень числа.
В цикле for, мы умножаем число n
на само себя a
раз и в результате получаем степень.
Напишем свою функцию для возведение числа в степень:
double raiseToPow(double x, int power) { double result; int i; result =1.0; for (i=1, i<=power;i++) { result = result*x; } return(result); }
Возведение в степень на C#
Простой пример:
int x = 5; int stepen = 4; Console.WriteLine("5^4 = " + Math.Pow(x, stepen));
Полный текст программы
using System; namespace My3 { class Program { static void Main(string[] args) { double x = 0.5; int stepen = 4; Console.WriteLine("0.5^4 = " + Math.Pow(x, stepen)); Console.WriteLine("5^4 = " + Math.Pow(5, 4)); Console.WriteLine("-5^4 = " + Math.Pow(-5, 4)); Console.WriteLine("-5^(-4) = " + Math.Pow(-5, -4)); Console.ReadKey(); } } }