zoukankan      html  css  js  c++  java
  • 用filter()筛选出素数

    'use strict';

    function get_primes(arr) {
    return arr.filter(function isPrime(number) {
    if (typeof number !== 'number' || number<2) {
    // 不是数字或者数字小于2
    return false;
    }

    if (number === 2) {//2是质数
    return true;
    } else if (number % 2 === 0) {//排除偶数
    return false;
    }
    var squareRoot = Math.sqrt(number);

      //因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
    for(var i = 3; i <= squareRoot; i += 2) {
    if (number % i === 0) {
    return false;
    }
    }
    return true;
    })
    }

    // 测试:
    var
    x,
    r,
    arr = [];
    for (x = 1; x < 100; x++) {
    arr.push(x);
    }
    r = get_primes(arr);
    if (r.toString() === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97].toString()) {
    alert('测试通过!');
    } else {
    alert('测试失败: ' + r.toString());
    }

  • 相关阅读:
    Dialog对话框
    Intent的七大属性
    Activity启动模式
    Android知识体系
    Activity生命周期
    Intent实现页面跳转和传值
    Android超链接
    上传文件
    XMLSAX解析
    XmlPull
  • 原文地址:https://www.cnblogs.com/wangyi666/p/9521706.html
Copyright © 2011-2022 走看看