javascript判断一个数是否是素数(质数)

//素数(质数): 只能被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 + "不是素数" );
    }
  • 42
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值