@Keterone

Как исправить бесконечное повторение цикла?

Должно получиться так:
задаем 2 параметра в prompt()
нужно, чтобы функция выводила только простые числа из диапазона

Проблема:
Если попадается составное число, то функция начинает выполнятся бесконечно
Не выдает число 3

UPD:
когда доходит до двухзначных чисел, то оно может по несколько раз дублироваться

var input1 = prompt('Write first number');
var input2 = prompt('Write second number');
let Res = 'Res: ';

let simpleNumber = function (start, end) {
    let range = start;
    while (range <= end || range == start) {
        if (range == 2) {
            Res += `${range} `;
        }
        let i = 2;
        let limit = Math.sqrt(range);
        while (i <= limit) {
            if(range % i === 0){
                continue;
            }
            i+= 1 
            Res += `${range} `;
        }

        range++;
    }
    console.log(Res);
}
simpleNumber(input1, input2);
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
@galaxy
while (i <= limit) {
            if(range % i === 0){
                continue;
            }

Ну а что вы хотели, вот тут и зацикливается на составном. Вместо continue надо break
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 окт. 2020, в 22:40
300 руб./за проект
21 окт. 2020, в 22:34
25000 руб./за проект
21 окт. 2020, в 21:24
7000 руб./за проект