JavaScript判断输入值是否为素数
Posted 橘#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript判断输入值是否为素数相关的知识,希望对你有一定的参考价值。
朋友今天出了一道算法,判断回文素数。回文素数每判断出来,出了一堆bug(第一次写博客的萌新瑟瑟发抖),结果就判断了一个素数,咋看其实素数挺简单的,但是执行起来还是有难度,可能是自己还学的不够。
下面就是判断素数的一个方法:
var repeat = 100;
var flag = true;
if(repeat >= 0) { //判断 如果输入数字大于0 则执行下面判断
if (repeat == 0 || repeat == 1) //判断输入数值是否为0或者1
flag = false; //如果是的则输出false
else if(repeat == 2) flag = true; //如果输入的是2 则判断为true
//如果以上两种都不是则进入以下判断,逻辑:如果repeat取余小于repeat的所有数都不为0,证明它除是除不尽的,则是素数
else{
for(var i = 2;i<= Math.sqrt(repeat); i++) { //repeat取余repeat开根号(数学方法)例如输入为100根号5/ 10 20所有的因素都分布在了根号两边,则i取值为10;
if(repeat % i == 0) { //如果取余i等于0那就不是素数 直接跳出循环
flag = false;
break;
}
}
}
}
else flag = false; //如果零输出为负数,就输出false
console.log(flag);
现在对于开根号还是了解的不够透彻,算法分析能力有待加强!
萌新第一次发表博客(轻喷)。
以上是关于JavaScript判断输入值是否为素数的主要内容,如果未能解决你的问题,请参考以下文章
寻找旋转排序数组中的最小值 II(数组二分查找)打印1000以内的所有素数,并从键盘输入一个正整数,判断是否为素数数组元素统计(算法初阶基础知识)