Javascript 什么';我的最大素数查找函数有什么问题吗?

Javascript 什么';我的最大素数查找函数有什么问题吗?,javascript,algorithm,primes,Javascript,Algorithm,Primes,我似乎不知道我的JS函数出了什么问题。我试图找到给定数的最大素因子。 它在使用2或4调用时工作,但在使用3调用时失败 Jsfiddle: (它朝向JS部件的底部) JS: var problem3 = function(num) { var max = 0; var i = 3; var prime; while (num%2==0) { num/=2; max=2; } for (num;num>1;i+=2

我似乎不知道我的JS函数出了什么问题。我试图找到给定数的最大素因子。 它在使用2或4调用时工作,但在使用3调用时失败

Jsfiddle: (它朝向JS部件的底部)

JS:

var problem3 = function(num) {
    var max = 0;
    var i = 3;
    var prime;
    while (num%2==0) {
        num/=2;
        max=2;
    }
    for (num;num>1;i+=2) {
        prime = true;
        for (var j=3;j<=Math.ceil(sqrt(i));j++) {
            if (i%j==0) {
                prime = false;
                break;
            }
        }
        if (prime==false) {
            continue;
        }
        if (num%i!=0) {
            continue;
        }
        while (num%i==0) {
            num/=i;
            max=i;
        }
    }
    document.getElementById('answer3').innerHTML = max;
}
var problem3=函数(num){
var max=0;
var i=3;
var素数;
而(数值%2==0){
num/=2;
max=2;
}
对于(num;num>1;i+=2){
prime=true;

对于(var j=3;j函数
sqrt
Math
下定义。如下所示:

for (var j=3;j<=Math.ceil(Math.sqrt(i));j++) {
for(var j=3;j