Javascript Сито Эратосфена с полем ввода текста

У меня возникли некоторые проблемы с реализацией JavaScript сита Эратосфена, найденного здесь. Я знаю, что в прошлом задавались некоторые вопросы по этому поводу, но это немного над моей головой. Я скопировал скрипт с веб-страницы и добавил только текстовое поле ввода сверху. Я пытаюсь получить ввод из текстового поля, затем код выведет простые числа до этого числа. Когда я вызываю функцию с помощью кнопки, ничего не происходит. Заранее благодарим за любую помощь, которую вы можете оказать мне.

function displayNextPrime(limit) {
    // Sieve of Eratosthenes to determine the string of prime numbers?  Then desiplay the next one?
    var limit = document.getElementById("number").value;
    var primes = [];
    if (limit >= 2) {
        var nums = new Array(limit - 1);
        for (var i = 2; i <= limit; i++)
            nums[i - 2] = i;
        var last_prime;
        var idx = 0;
        while ((last_prime = nums[idx]) <= Math.sqrt(limit)) {
            if (last_prime != null)
                for (var i = idx + last_prime; i < limit - 1; i += last_prime)
                    nums[i] = null;
            idx++;
        }
        for (var i = 0; i < nums.length; i++)
            if (nums[i] != null)
                primes.push(nums[i]);
    }
    return primes;
    var primes = erasthenes(100);
    if (typeof print == "undefined") {
        print = (typeof WScript != "undefined") ? WScript.Echo : alert;
    }
    //primes.toString();
    //document.getElementById("erasthenes").innerHTML = primes;
    print(primes);
}

0 ответов

Другие вопросы по тегам