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 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)));

ArsenPapiyan 29.01.2019 19:42

j0hnik,
Черт... :-? но для новичка вполне нормально :yes:

ArsenPapiyan 30.01.2019 12:49

j0hnik,:)
function isInteger(num) {
        return (num ^ 0) === num;
      }
      function myPow(x, n) {
        var result = 1;
        if (n == 0) {
          return 1;
        }
        else if (n < 0) {
          var b;
          for (var i = 0; i > n; i--) {
            result /= x;
          }
          return result;
        }
        else if (isInteger(n) == false) {
          result = Math.exp(n * Math.log(x));
          return result;
        }
        else {
          for (var i = 0; i < n; i++) {
            result *= x;
          }
          return result;
        }
      }


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