@Chesterfield25

Как получить определенное число в цикле с шагом?

Цикл с шагом 3 у которого должно получится число 22
<getDrinksWithStep(10, 3); // 1 + 4 + 7 + 10 = 22

Вот мой класс с циклом по итогу я получаю ошибку

public class GetDrinksWithStep {
  int res = getDrinksWithStep(10, 3);
  public static int getDrinksWithStep(int guestNumber, int step) {
        int result = 0;

    for (int i = 0; i <= guestNumber;  i = i + step) {

        result += i;
    }

    return result;
  }
}


Ошибка

Результат должен быть "25" для guestNumber = 10 и step = 2, но было "30".
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 3
@barsty
public static int getDrinksWithStep(int guestNumber, int step) {
        return IntStream.iterate(1, i -> i <= guestNumber, i -> i + step).sum();
    }
Ответ написан
Комментировать
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
@tailrec
def getDrinksWithStep(g : Int, step : Int, i : Int = 1, r : Int = 0) : Int = 
  if (i <= g) getDrinksWithStep(g, step, i + step, r + i) else r
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
int result = 0;
for (int i = 1; i <= guestNumber; i = i + step) {
result += 1
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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