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

小咪咪 2022-05-18 09:27 466阅读 0赞

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

  1. //方案一 : 因子一定有两个
  2. var num = Number(prompt("请输入一个正整数,判断此数是不是素数"));
  3. var count = 0;//统计因子个数
  4. for( var i = 1 ; i <= num ; i++ ){
  5. if( num%i == 0 ){
  6. //因子
  7. count++;
  8. }
  9. }
  10. //循环结束后 如果 count == 2 一定是素数
  11. if( count == 2 ){
  12. document.write( num + "是素数" );
  13. }else{
  14. document.write( num + "不是素数" );
  15. // 方案二:因子和 = num +1
  16. var num = Number(prompt("请输入一个正整数,判断此数是不是素数"));
  17. var sum = 0; //因子和
  18. for(var i = 1; i <= num; i++){
  19. if(num % i ==0){
  20. console.log(i)
  21. sum += i;
  22. }
  23. }
  24. if(sum == num+1){
  25. document.write(num + "是素数");
  26. }else{
  27. document.write(num + "不是素数");
  28. }
  29. //方案三 : 假设法 假设flag = true 是素数
  30. // 分析假设不成立 :
  31. // 7: % 2--6 如果是素数 该区间内没有因子
  32. // 13 :% 2--12
  33. // 15 :% 2---14 该区间内有因子 一定不是素数 说明 假设不成立 flag = false
  34. var num =Number(prompt("请输入一个正整数,判断此数是不是素数"));//要判断的数
  35. var flag = true;//假设变量 值为true 是素数
  36. for( var i = 2 ; i < num ; i++ ){
  37. if( num % i == 0 ){
  38. //满足这个条件 说明有因子了 不是素数
  39. flag = false;//不是素数
  40. break;
  41. }
  42. }
  43. //如果假设成立
  44. if( flag && num != 1 ){ //1不是素数
  45. document.write( num + "是素数" );
  46. }else{
  47. document.write( num + "不是素数" );
  48. }

发表评论

表情:
评论列表 (有 0 条评论,466人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++判断是否素数质数

    素数就是除1和它本身外没有其他的因数了叫做素数 1只有1个因数1,所有1既不是合数也不是素数 4有3个因数,属于合数 2只有2个因数,属于质数或素数 那么怎么判

    相关 c#判断一个是否素数

    素数是只能被1或本身整除,且不能为其他两个整数的乘积。1、2、3本身就是素数,判断一个数是否为素数,只需要用这个值依次除以2到它的开方数,如果其中有一个数可以整除,那么该值不为