-1

Только учусь, вот мой набросок. Чего не хватает?

var num=2;
var exp=10;
var count=2;    
var result=num;

for(var count=2; count<=exp; count++){  
    console.log(count);
}

Должно в консоли выводится число 1024.

7
  • 1
    эмм..если вы хотите возвести число в n-ую степень, то, как подсказывает элементарная математика, это самое число нужно умножить само на себя n раз. Однако же вы этого не делаете, вместо этого зачем-то выводя на консоль значение счетчика
    – DreamChild
    22 ноя 2014 в 17:03
  • помогите разобраться, что нужно исправить? console.log убрал.
    – Kimosabe
    22 ноя 2014 в 17:12
  • 1
    для Вас это детская задача, самому не получается разобраться, просто прошу помочь.
    – Kimosabe
    22 ноя 2014 в 17:20
  • 1
    мой комментарий выше предназначен как раз для того, чтобы вам помочь. Если вы знаете, что такое возведение в степень и умеете умножать числа, то, думаю, проблем тут быть не должно
    – DreamChild
    22 ноя 2014 в 17:22
  • я знаю что такое возведение в степень, но как в как это изобразить в коде я не знаю. Если я правильно понимаю счетчик count считает до exp равной 10, тогда как num перемножить на себя 10 раз и вывести в консоль?
    – Kimosabe
    22 ноя 2014 в 17:39

4 ответа 4

10

Давайте сначала алгоритм опишем. «2 в степени 10» значит, нужно 10 двоек перемножить. 2 * 2 * 2 ... * 2 — двойка десять раз, умножение 9 раз.

Чтобы не писать длинную колбасу умножений, сделаем в цикле, как просят.

Пусть будет переменная result, где хранится текущее значение умножения. И внутри цикла, который прокрутим 9 раз (сколько раз «умножение»), будем домножать на 2:

for( блаблабла) {
    result = result * 2;
}

Этот result после девяти раз будет содержать требуемый результат.

Осталось оформить цикл. Внутри идёт три выражения:

  1. Начальные значения.
  2. Условия, которые должны выполняться. Как только нарушатся — выйдем из цикла.
  3. Действия на каждом повторе.

Сделаем с переменной счётчиком i. Повторим 9 раз, каждый раз уменьшаем на 1. Крутим, пока не дойдём до нуля:

for( i=9; i>0; i=i-1)

И, наконец, в самом начале надо объявить/дать начальные значения всем переменным:

var i, result, exp=10, num=2;

Дальше соберите, пожалуйста, самостоятельно. Здесь почти всё. В цикле стоит вместо фиксированного значения использовать переменную exp.

4
function power(base, exp){
    var result = 1;
    for(var i = 0; i <exp; i++)
    {
        result = result * base;
    }
    return(result);
}
console.log(power(2,10));
-1
var num = 2;
var exp = 10;
var result = 1;
var cnt = 1;
while (cnt <= exp){
  result = result * num;
  console.log(result)
  cnt++;
}
3
  • Постарайтесь писать более развернутые ответы. Поясните, на чем основано ваше утверждение? 28 авг 2015 в 14:14
  • A что вам не было понятно 29 авг 2015 в 19:51
  • 1
    Ну, например мне не понятно, зачем давать в качестве ответа код, очень близкий к вопросу, но явно и, вероятно, намеренно нарущающий одно из требований вопроса.
    – Qwertiy
    29 авг 2015 в 20:16
-1
function power (base, exponent) {
if (exponent == 0) {
return 1; 
} else {
return base * power(base, exponent - 1)
}
}
console.log(power(2,10);
1

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.