Алгоритм быстрого возведение числа в степень на C++


#include "stdafx.h"
#include <iostream>
using namespace std;

float speedpow(float number, int k)
{
float count=1;
if (!k) return 1;
while (k)
{
if (k%2==0)
{
k/=2;
number*=number;
}
else
{
k--;
count*=number;
}
}
return count;
}

void main()
{
setlocale(LC_ALL,"Rus");
float number;
int k;
cout<<"Введите значение основания"<<endl;
cin>>number;
cout<<"Введите значение степени"<<endl;
cin>>k;
cout<<number<<"^"<<k<<"="<<speedpow(number, k)<<endl;
system("pause");
}

Быстрое возведение в степень результат C++

Leave a Reply

Ваш e-mail не будет опубликован.