Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите написать аналог Math.pow() (https://javascript.ru/forum/misc/74455-pomogite-napisat-analog-math-pow.html)

VSEM-DOBRA 13.07.2018 20:09

Помогите написать аналог Math.pow()
 
Нужна функция
function pow(b,e){
//...
}

аналог Math.pow(b,e);
пожалуйста.

b // base
e //expon
console.log(Math.pow(b,e) == pow(b,e));

рони 13.07.2018 20:21

VSEM-DOBRA,
function pow(b,e){
return --e ? b * pow(b,e)  : b
}
alert(pow(2,3) == Math.pow(2,3));

VSEM-DOBRA 13.07.2018 20:37

рони :cray:
function pow(b,e){
return --e ? b * pow(b,e)  : b
}
alert(Math.pow(2482,(1/4)));
alert(pow(2482,(1/4)) == Math.pow(2482,(1/4)));


райс, спасибо но нужно ES5 или ниже

рони 13.07.2018 20:46

VSEM-DOBRA,
не судьба значит :) , читайте учебники математики про возведение в степень, мой вариант для натуральных чисел.

Alexandroppolus 13.07.2018 21:25

оно?
function pow(b, e) {
	return Math.exp(e * Math.log(b));
}

VSEM-DOBRA 14.07.2018 00:00

Alexandroppolus,
THE BEST!
Rise,
Сам не в восторге =(

Aetae 14.07.2018 00:03

Alexandroppolus, так не интересно. Надо без Math, на чистой бинарной логике.)

VSEM-DOBRA 14.07.2018 00:04

Aetae,
Попробуйте =)

ArsenPapiyan 29.01.2019 19:28

function myPow(x, n) {
        var result = 1;
        if (n == 0) {
          return 1;
        }
        else if (n < 0) {
          for (var i = 0; i > n; i--) {
            result /= x;
          }
          return result;
        }
        else {
          for (var i = 0; i < n; i++) {
            result *= x;
          }
          return result;
        }
      }

j0hnik 29.01.2019 19:35

ArsenPapiyan,
:no:
function myPow(x, n) {
var result = 1;
if (n == 0) {
return 1;
}
else if (n < 0) {
for (var i = 0; i > n; i--) {
result /= x;
}
return result;
}
else {
for (var i = 0; i < n; i++) {
result *= x;
}
return result;
}
}
console.log(myPow(2482,(1/4)) == Math.pow(2482,(1/4)));


Часовой пояс GMT +3, время: 04:09.