Возведение в числа в степень в 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();
}
}
}