169 похожих чатов

Задание написать функцию, которая будет возводить в степень число. Мой

вариант:
x = prompt("Введите число:", 5);
n = prompt('Введите степень:', 1);

function pow() {

while (n != 0) {
x=x*x;
return x;
};
}
pow ();
alert (x);

В учебнике предложен вариант такой:

function pow (x, n) {
let result = x;
for (let y = 1; y < n; y++) {
result *=x;
}
}

let x = prompt ("x?", '');
let n = prompt ("n?", '');

if (n < 1) {
alert ('Степень ${n} не поддерживается, используйте натуральное число');
}
else {
alert ( pox(x, n) );
}

Скажите пожалуйста чем вариант из учебника лучше. Чтобы понять, что значит оптимизированный код. 🤷‍♂️

15 ответов

20 просмотров

ваш варик ток в квадрат возводит, а цикл бесполезный

R-S Автор вопроса
i7 4n
ваш варик ток в квадрат возводит, а цикл бесполез...

Я проверил, какую степень укажешь, в такую и возводит.

R S
Я проверил, какую степень укажешь, в такую и возво...

мб, я на шизе, но я не вижу у вас изменений n, + у вас функция с сайд-эффектами, передавайте в качесте параметров

R-S Автор вопроса
i7 4n
мб, я на шизе, но я не вижу у вас изменений n, + у...

Так n и не должно меняться, оно же задаёт сколько раз число должно быть умножено на себя. Разница между моим вариантом и вариантом из учебника, в том, что моя функция задаётся без параметров и отсылается напрямую к внешним переменным, вот так делать плохо. Здесь я согласен.

R S
Так n и не должно меняться, оно же задаёт сколько ...

да у вас при первой же итерации он свалит из цикла, ну, n нужен как счётчик количества операций умножения

опять задание в котором запрещено юзать ** или Math.pow

R S
Да, именно :)

хочется стальным прутом бить

R-S Автор вопроса
jabascripter
хочется стальным прутом бить

В комментах к заданию написано, что ** появилось после написания статьи. Это правда? В смысле, что это какое-то нововведение.

jabascripter
опять задание в котором запрещено юзать ** или Mat...

мне на собеседовании запретили Юзать все что угодно кроме for листочек и ручку

Yaroslav Bakh
мне на собеседовании запретили Юзать все что угодн...

вы, надеюсь, втащили каждому по очереди и молча ушли?

i7 4n
вы, надеюсь, втащили каждому по очереди и молча уш...

та нет, я сначала думал тут какой-то подвох, и думал там стоит где-то камера скрытая, а потом сделал задание за минут 15 у меня только один вопрос был который я должен был на листочке сделать. И таких компаний у меня было 2 в тот день. Правда вторая по теории хотя бы немного спросила.

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
22
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Сегодня у себя обнаружил Holodeck-2_8_0.exe (48.5 Mb). Вопрос: откуда он у меня взялся?
楽園松本
8
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Карта сайта