zoukankan      html  css  js  c++  java
  • 找出一定范围内的素数(质数)

    判断一个数是不是质数

    	function isprime($n){
    		if($n < 2){
    			return false;
    		}
    		for ($i=2; $i*$i <= $n; $i++) { 
    			if($n % $i == 0){
    				return false;
    			}
    		}
    		return true;
    	}
    

    使用上面的函数或者直接在下面的函数中判断,找寻一定范围内的质数。

    	function sieve($n){
    		$array = array();
    
    		for ($i=0; $i <= $n; $i++) { 
    			if($i % 2 != 0){
    				if($i > 2){
    					// if(isprime($i)){
    					// 	$array[] = $i;
    					// }
    
    					$isprime = true;
    					for ($j=2; $j <= ceil(sqrt($i)); $j++) { 
    						if($j % 2 != 0){
    							if($i % $j == 0){
    								$isprime = false;
    								break;
    							}
    						}
    					}
    					if($isprime){
    						$array[] = $i;
    					}
    				}
    			}
    		}
    
    		return $array;
    	}
    

      

    print_r(sieve(100));

    Array
    (
        [0] => 3
        [1] => 5
        [2] => 7
        [3] => 11
        [4] => 13
        [5] => 17
        [6] => 19
        [7] => 23
        [8] => 29
        [9] => 31
        [10] => 37
        [11] => 41
        [12] => 43
        [13] => 47
        [14] => 53
        [15] => 59
        [16] => 61
        [17] => 67
        [18] => 71
        [19] => 73
        [20] => 79
        [21] => 83
        [22] => 89
        [23] => 97
    )
  • 相关阅读:
    第06组Alpha冲刺(4/6)
    第06组Alpha冲刺(3/6)
    第06组Alpha冲刺(2/6)
    第06组 Alpha冲刺 (1/6)
    08-js函数
    07-数组
    06-js分支
    05-js运算符
    04-js变量
    03-css3D转换
  • 原文地址:https://www.cnblogs.com/wyzs/p/5198521.html
Copyright © 2011-2022 走看看