javascript 质数的算法为甚了这个a结果总是为2,而不是判断加的次数

var num = prompt("请输入一个大于1的整数:");

    if (num <= 1) {
        alert("该值不合法");
    } else {
        var flag = true;
        var a= 0;
        for (i = 2; i < num; i++) {
          if (num%i == 0) {
            a++;
          }
        }
   

    }

为甚了这个a结果总是为2,而不是判断加的次数

a大于0就是质数,因为存在num能整除的其他因数,num%i==0就是求2~num-1能整除的因数用的,能整除a++

img

<script type="text/javascript">
    var num = prompt("请输入一个大于1的整数:");
    if (num <= 1) {
        alert("该值不合法");
    } else {
        var flag = true;
        var a = 0;
        for (i = 2; i < num; i++) {
            if (num % i == 0) {
                a++;
            }
        }
        alert(num + (a > 0 ? '不是':'是')+'质数')
    }
</script>


信你个鬼哦

img

img