Геометрическая прогрессия

@GreenLera глючит проверка:

Первый тест. Стартовое значение 3, множитель: 3, количество: 6. Ожидаю вывод в консоль: 3, 9, 27, 81, 243.

3 (number)

9 (number)

27 (number)

81 (number)

243 (number)

Консоль содержит указанные сообщения

Значений 5 вместо 6, проверка сработала. Остальные 2 не срабатывают

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

1 лайк

Программа работает, просто первый вариант был неправильный и я заметил глючок, и вам рассказал. Потом у себя все исправил

Спасибо вам)

1 лайк

Добрый день, написал вот такой код, все правильно работает, но вопрос, его можно сократить каким-то образом?

var startNumber = 3;
var multiplier = 3;
var quantity = 6;

for (var i = 1; i <= quantity; i++) {
if (i === 1) {
console.log(startNumber);
} else {
startNumber *= multiplier;
console.log (startNumber);
}
}

А если так?

var startNumber = 3;
var multiplier = 3;
var quantity = 6;
for (var i = 1; i <= quantity; i++) {
if (i !== 1) {
startNumber *= multiplier;
}
console.log (startNumber);
}

Можно дешевле:

var startNumber = 3;
var multiplier = 3;
var quantity = 6;
console.log(startNumber);
for (var i = 1; i <= quantity; i++) {
  startNumber *= multiplier;
  console.log(startNumber);
}
4 лайка

А зачем эта проверка вообще нужна?

Я не знал как иначе вывести 3 в начале.

выводишь до цикла, а в цикле <=, меняешь на <

2 лайка

Спасибо за ваши ответы. :blush:

1 лайк

Немного сократил код:

var startNumber = 3;
var multiplier = 3;
var quantity = 6;

for (var i = 1; i <= quantity; i++) {
  console.log(startNumber);
  startNumber *= multiplier;
}
3 лайка
var startNumber = 1;
var multiplier = 4;
var quantity = 7;
var i = 0;
while (i < quantity){
  console.log(startNumber);
  startNumber *= multiplier;
  i++;
}

||

var startNumber = 1;
var multiplier = 4;
var quantity = 7;
for (var i = 0; i < quantity; i++) {
  console.log(startNumber);
  startNumber *= multiplier;
}
4 лайка

Почему нужно console.log(); Вставлять в начало? Точно такой же был код, но думал то что эту команду нужно вставлять в конец…

1 лайк

Вставляем в начало что бы видеть стартовое число еще до вычислений.

var startNumber = 1;

В нашем варианте первое число будет 1, если мы поставим в конец:

for (var i = 0; i < quantity; i++) {
  startNumber *= multiplier;
  console.log(startNumber);
}

То у нас не будет первого числа, произойдет вычисление и будет отображена прогрессия начиная со второго числа.

3 лайка

Таким образом первый раз выводится первое значение последовательности. То есть не измененное, дальше оно меняется в этом цикле (умножается), но после умножения не выводится в консоль. Перемноженное выводится уже в начале следующей итерации. Если поставить в конец - вывод будет начинаться со второго числа с последовательности.

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

var startNumber =1;
var multiplier = 2;
var quantity = 6;
console.log(startNumber);
for (var i=1; i<=quantity-1; i++){
startNumber*=multiplier;
console.log(startNumber);
}

Мой вариант:

Summary
var startNumber = 1;
var multiplier = 4;
var quantity = 7;
for (var i = 1, number = startNumber; i <= quantity; i++, number *= multiplier) {
  console.log(number);
}

У вас цикл неправильно сформирован. Цилк for имеет вид.

for (;;) {
}

for (Начало; Условие; Шаг) {

}

и работает таким образом

for (Начало; Условие; Шаг) {
Начало
Если условие вернет true выполнится код
Шаг
Если условие вернет true выполнится код
Шаг
Если условие вернет true выполнится код
Шаг....
И так бесконечно пока условие не вернет false
}
1 лайк

Здравствуйте, уважаемые!
У меня в таком коде:
var startNumber = 3;
var multiplier = 3;
var quantity = 6;
console.log(startNumber);
for (var i = startNumber; i <= quantity ; i++) {
startNumber *= multiplier;
console.log(startNumber);
}

не считает последние пару-тройку последних значений(плюс минус).
пришлось сделать так:
var startNumber = 3;
var multiplier = 3;
var quantity = 6;
var p = startNumber + quantity - 2;
console.log(startNumber);
for (var i = startNumber; i <= p; i++) {
startNumber *= multiplier;
console.log(startNumber);
}

подскажите, сталкивались ли вы с подобным? Вроде, всё по вашим примерам сделал.