Задать вопрос
@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);
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@galaxy
while (i <= limit) {
            if(range % i === 0){
                continue;
            }

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

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

Похожие вопросы
23 дек. 2024, в 09:41
5000 руб./за проект
23 дек. 2024, в 09:39
1000000 руб./за проект