Wątek przeniesiony 2017-11-25 17:59 z C/C++ przez kq.

Szybkie potęgowanie – czegoś brakuje

0

tam gdzie są trzy kropki, czegoś mi brakuje ale nie wiem czego...

#include <iostream>

using namespace std;
int potega (int a, int b);

int main() {
    int a, b;
    cin >> a >> b;
    cout << "potega (a, b)" << endl;
    return 0;
}

int potega (int a, int b) {
    if (b == 0) return 1;
    int c= potega(a, b / 2);
    ...
    return (a^k)^2*a
    }
0

kodu. skompiluj zobacz jaki blad i popraw go

jak nie to zamien ta funkcje na
https://stackoverflow.com/questions/9348933/using-recursion-to-raise-a-base-to-its-exponent-c

0

Jeszcze inaczej
if even(b) return exp( a * a, b / 2);
else return a * exp( a * a, (b - 1) / 2);
I to jest cala funkcja po if (b == 0) return 1;

0

dzięki działa ! o to chodziło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1