前端知识学习

//素数(质数): 只能被1 和 其本身整除的数 
//用户输入一个数,判断这个数是否是素数

    //方案一 : 因子一定有两个
    var num = Number(prompt("请输入一个正整数,判断此数是不是素数")); 
    var count = 0;//统计因子个数
    for( var i = 1 ; i <= num ; i++ ){
        if( num%i == 0 ){//因子
            count++;
        }
    }
    //循环结束后 如果 count == 2  一定是素数
    if( count == 2 ){
        document.write( num + "是素数" );
    }else{
        document.write( num + "不是素数" );
// 方案二:因子和 = num +1
var num = Number(prompt("请输入一个正整数,判断此数是不是素数"));
var sum = 0; //因子和
for(var i = 1; i <= num; i++){
    if(num % i ==0){  
        console.log(i)
        sum += i;  
    }
}
if(sum == num+1){
    document.write(num + "是素数");
}else{
    document.write(num + "不是素数");
}
//方案三 : 假设法   假设flag = true 是素数
// 分析假设不成立 : 
// 7:  % 2--6  如果是素数   该区间内没有因子
// 13 :% 2--12  
// 15 :% 2---14   该区间内有因子 一定不是素数    说明 假设不成立  flag = false
    var num =Number(prompt("请输入一个正整数,判断此数是不是素数"));//要判断的数
    var flag = true;//假设变量  值为true 是素数 
    for( var i = 2 ; i < num ; i++ ){
        if( num % i == 0 ){//满足这个条件  说明有因子了  不是素数
            flag = false;//不是素数
            break;
        }
    }
    //如果假设成立  
    if( flag && num != 1 ){ //1不是素数
        document.write( num + "是素数" );
    }else{
        document.write( num + "不是素数" );
    }