Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   возведение числа в степень (https://javascript.ru/forum/misc/23103-vozvedenie-chisla-v-stepen.html)

BpArCuCTeMbI 11.11.2011 19:59

возведение числа в степень
 
Вложений: 1
Дано целое число a и натуральное n. Вычислить b=an.
Результат работы оформить по образцу (использование jQuery не возбраняется), цвет фона #faf3d2, рамка, шрифт - чёрные, ширина рамки - 1рх, заругление уголка рамки - 10рx. сделать это надо без функции возведения в степень. как???!!! может что то с циклами похимичить?? :help: :help: :help: :help: :thanks:

Aetae 11.11.2011 20:05

Деанон ололо...
...упс, не то.

Aetae 11.11.2011 20:57

Возвести в степень без функции возведения в степень.:nono:

DreamTheater 11.11.2011 21:19

var b = Math.pow(a, n);

Aetae 11.11.2011 21:27

Цитата:

Сообщение от DreamTheater (Сообщение 135974)
var b = Math.pow(a, n);

Возвести в степень без функции возведения в степень, блджад!!!!11одинодин))

trikadin 11.11.2011 23:56

nasqad,
Так-то оно так... Но для произвольной степени посложнее будет!

Aetae 12.11.2011 00:59

Если как указанно в задании, то:
var a=b=4, n = 5;
while(--n)b*=a;
alert(b)

А если кто степень <1 запихнёт - его проблемы, сказано натуральные числа, знач натуральные.)))

DreamTheater 12.11.2011 01:03

function pow(a, n) {
    var b = a;

    for (var i = 1; i < n; i++) {
        b *= a;
    }

    return b;
}

alert(pow(2, 5));


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

trikadin 12.11.2011 01:04

Цитата:

Сообщение от DreamTheater
проблемы здесь никакой не вижу

А я не вижу смысла... В том, чтобы не пользоваться языковыми средствами.

P.S. Разумеется, это не к вам претензия, DreamTheater и Aetae.

Aetae 12.11.2011 01:04

DreamTheater,
Я первей.))
Кстати давно интересует, почему все так любят for и так не любят while?)

trikadin 12.11.2011 01:05

Aetae, я первей)

Цитата:

Сообщение от Aetae
Кстати давно интересует, почему все так любят for и так не любят while?)

Привычка...

Aetae 12.11.2011 01:06

Цитата:

Сообщение от trikadin (Сообщение 136001)
А я не вижу смысла... В том, чтобы не пользоваться языковыми средствами.

Нет, ну в каких-то учебных случаях это оправданно. Та же сортировка: испльзуя стандартные функции никогда не поймёшь как оно действует. Но в данном случае конечно х*еплётство.)
Цитата:

Сообщение от trikadin (Сообщение 136003)
Привычка...

Это понятно, а откуда она берётся?

trikadin 12.11.2011 01:08

Ну, плюс, модификации сортировки нередко нужны для решения алгоритмических задач... А стандартные св-ва ты хрен модифицируешь)

Но к степеням это никаким боком не относится.

DreamTheater 12.11.2011 01:15

Задача действительно идиотская, хотя это с какой стороны посмотреть: сейчас существует уже достаточно много готовых функций и паттернов программирования, собранных в огромном разнообразии фреймворков, но пока не попробуешь сделать это своими руками, никогда до конца не осознаешь принцип работы.

format1981 27.02.2013 23:41

Цитата:

Сообщение от Aetae (Сообщение 136004)
Это понятно, а откуда она берётся?

Изучать циклы начинают с for - оттого и привычка

tsenzuk 09.06.2014 02:07

Цитата:

Сообщение от Aetae (Сообщение 136002)
DreamTheater,
Я первей.))
Кстати давно интересует, почему все так любят for и так не любят while?)

потому что с условием while есть риск уйти в бесконечный цикл, а в for этого случится практически не может.

Чисто теоретически можно сделать что-то вроде
for(var i = 0; i < 2; i++){
    i = 0;
}


но это куда очевиднее чем
var a=b=4, n = 5;
while(--n){
    n = false;
    b*=a;
}



Цитата:

Сообщение от format1981 (Сообщение 237798)
Изучать циклы начинают с for - оттого и привычка

откровенно говоря, я считаю, что циклы нужно изучать начиная с goto, поскольку суть как циклов так и функций именно в условном переходе из одного места программы в другое.


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