[ create a new paste ] login | about

Link: http://codepad.org/uYksI0Ai    [ raw code | output | fork | 1 comment ]

outoftime - C++, pasted on Dec 19:
#include <iostream>

using namespace std;

double BinPow(int a, int n)
{
    double res = 1;
    while (n)
    {
        if (n&1)  
        {
            res *= a;
            --n;
        }
        else
        {
            a *= a;
            n >>= 1;
        }
    }
    return res;
}

int main()
{
    int a = 6, n = 4;
    cout << (BinPow(a,n)) << endl;
    return 0;
}


Output:
1
1296


Create a new paste based on this one


Comments:
posted by outoftime on Dec 20
Это не рекурсия!! Т.к. вызов функции производится всего лишь 1 раз. Это итеративный способ вычисления..
reply