← Усі приклади

Швидке піднесення до степеня

Java Алгоритми

бінарне піднесення

Блок-схема за ДСТУ

ТакТакНіНіПочатокВвід base, expresult = 1exp > 0exp % 2 == 1result = result * basebase = base * baseexp = exp / 2Повернути resultКінецьРисунок 1 — Power.fastPow

Вихідний код

class Power {
    static long fastPow(long base, int exp) {
        long result = 1;
        while (exp > 0) {
            if (exp % 2 == 1) {
                result = result * base;
            }
            base = base * base;
            exp = exp / 2;
        }
        return result;
    }
}