,怎么用PHP写出1到100的质数?

用户投稿 133 0

关于“php中怎么求质数”的问题,小编就整理了【5】个相关介绍“php中怎么求质数”的解答:

怎么用PHP写出1到100的质数?

//求100以内质数for ($i = 1; $i

用javascript或PHP语言实现网页输出1到1000内的素数(质数)。要求排列整齐(建议每行20个数)?

<html>

<head>

<title>素数</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312" />

<style>

td {

text-align:center;

width:30px;

}

</style>

</head>

<body>

<?php

function Sushu($n)

{

$flag= array_fill(1, $n, true);

$flag[1]=false;

for ($i=2; $i<=sqrt($n); $i++)

{

if (isset($flag[$i]) && $flag[$i])

{

for ($j=$i; $j*$i<=$n; $j++)

{

//$flag[$i*$j] = false;

unset($flag[$i*$j]);

}

}

}

unset($flag[1]);

return $flag;

计算机怎么求质数?

这种算法比较基本,对于每个数n,将n依次从2除到n,然后对余数进行比较,如果余数是0,则除得尽,如果不是0则除不尽,按照质数的定义,只有1和他本身能成为因数也就是除得尽,所以只有除得尽的数不大于两个时,才能是质数。

这种算法的好处是符合大多数人的第一反应,和定义契合得比较好,也比较省空间,但问题是假如我这里n输入了1000000+时,这个运算时间是非常长的,其算法复杂度高达1*10^12,小数据可以用遇到大数据就很难实现高效了。

开根号遍历法

仔细分析算法我们会发现,其实在做除法运算时不需要除每一个数,只要除到根号n即可。这是因为当除数大于根号n时,其结果肯定是小于根号n的(可以用反证法证明),假如此时能除得尽,那么该种可能早就在小于根号n的遍历中被排除掉了,就没有意义了。这样就减小了一部分算法复杂度。

筛选法

筛选法的核心是牺牲内存换速度,因为其不通过遍历来表达一列数而是直接通过数组来表达。用静态的bool量去变现数的状态。

其核心流程为:

定义一个bool数组,其下标为我们要判断的数,其值为true。表示初始阶段所有数都假定是素数。

开始对这个数组进行筛选(及把值改为false),实现把因数含有2的所有数筛掉,把因数含有3的数筛掉,把因数含有5的数筛掉…一直筛选到只剩下素数为止。

第一层循环是将1-100递增1步长的循环。

第二层循环是在1-i{上一层所到位置}中循环, $i%$j ==0 这一步是 判断 i是否能背比i小{逐一减小}的数 整除{注意没有它本身 $j!=$i} 如果存在上一步 那么 将记录k=1 最下面循环内 依据k的值 判断i是否能被2-(i-1)中的数整除,并输出echo 它们。本段代码应该输出1-100间的素数

质数怎么快速算出来?

质数

 是通过因式分解

 算出来。

质数定义是在大于1的自然数

 中除了1和它本身以外不再有其他因数的数称为质数;素数

 就是质数,即除了1和它本身以外任何数都不能整除他的数。

素数可以这样算出来:将知道的素数全部乘起来再加一;比如知道2是质数,3是质数,可以得到质数2 X 3 + 1 = 7这个质数,知道2是质数,3是质数,5是质数,可以得到2 x 3 x 5 + 1 = 31 这个质数。

扩展资料:

质数的性质

1、质数p的约数

 只有两个: 1和p。

2、初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。

3、质数的个数是无限的。

4、质数的个数公式 T(n) 是不减函数。

5、若n为正整数

 ,在n2到(n+1) 2之间至少有一个质数。

6、若n为大于或等于2的正整数,在n到n!之间至少有一个质数。

8、若质数p为不超过n (n>4)的最大质数,则p>n/2。

第一,就是根据质数的定义,来确定一个数是不是质数。质数的定义:大于1且只能被1和自身整除的自然数(如:2、3、5、7、11等)。

第二,把它各个位都加起来,看能不能整除三,如果能,就不是质数。

第三,看它末尾是不是0,2,4,5,6,8,如果是,也不是质数。

(因为末尾是偶数的,能被2整除;5或0的,能被5整除)

第四 ,1既不是质数也不是合数。

到此,以上就是小编对于“php中怎么求质数”的问题就介绍到这了,希望介绍关于“php中怎么求质数”的【5】点解答对大家有用。

抱歉,评论功能暂时关闭!