Мне нужно найти рекуррентное соотношение для числа умножений, выполненных для этого алгоритма, который находит основание ^ n, но я действительно не знаю, как это сделать из-за IF в нижней части.
public int reduceAndConquer(int base, int n){
if(n == 1) return base;
if(n == 2) return base*base;
else{
int total = reduceAndConquer(base, n/2);
if(n%2 == 0) return total*total;
return total*total*base;
}
}
Поскольку это либо 1, либо 2 умножения в зависимости от того, является ли оно четным или нечетным, я не уверен, как превратить это в отношение.Любой вклад будет полезен.