本文目录一览:
- 1、用PHP语言编程求100~200间的全部素数
- 2、php判断一个数是否为素数
- 3、php编程输出100以内的素数
- 4、在php中怎么用函数实现 输出1-100 中的质数(素数,只能被1和本身整除的数)
- 5、在php环境下,编写程序页面求100到200之间的质数(素数)
用PHP语言编程求100~200间的全部素数
?php
$ss = 100; //声明变量$ss,赋初值为最小的素数
$max = 200; //声明变量$max,赋值为最大的范围
$arr = array(); //声明一个数组$arr
echo $max."以内的素数为:";
while($ss $max): //判断变量是否在允许的范围内
$boo = false; //声明一个布尔变量$boo,初值为false
foreach($arr as $value): //使用foreach语句遍历$arr数组
if($ss % $value == 0): //如果变量$ss 能够被数组元素整除
$boo = true; //将布尔变量赋值为true
break; //跳出当前循环
endif;
endforeach;
if(!$boo): //判断变量$boo值
echo $ss." "; //如果$boo为假,则说明当前变量$ss为素数,输出素数
$arr[count($arr)] = $ss;//同时存到数组中
endif;
$ss++; //变量$ss加1
endwhile;
?
php判断一个数是否为素数
function selectnum($num){
for ($j = 2; $j sqrt($num); $j++) {
if ($num % $j == 0) {
return false;
}
}
return true;
}
判断是不是 素数 ,若 返回true 就是 素数,因为 若一个数能被整除,那肯定就不是素数!!!
加平方根验证(sqrt)的目的,是为了优化性能,因为:
如果它不是质数,那么它应该可以表示成两个非1非自身的数相乘。
而这两个数,必然有一个大于平方根一个小于平方根,或者两个都等于平方根。
下面是 获取 1000000 内 所有的 素数 ,在PHP7下 能做到2.3秒, 在5下 不到4秒!
public function test()
{
$start_time = microtime(true);
set_time_limit(0);
$num_max = 1000000;
$arr = [] ;
for ($i = 1;($i*6) = $num_max; $i++) {
$base=$i*6;
$num=$base-1;
$sta=$this-testnum($num);
if ($sta) {
$arr[$num]=1;
}
$num=$base+1;
$sta=$this-testnum($num);
if ($sta) {
$arr[$num]=1;
}
}
$end = microtime(true);
$zong = $end -$start_time;
echo '开始' . $start_time . 'br/' ;
echo '结束' . $end . 'br/' ;
echo '用时' . $zong . 'br/';
echo '共' . count($arr) . '个素数';
}
function testnum($num){
for ($j = 2; $j sqrt($num); $j++) {
if ($num % $j == 0) {
return false;
}
}
return true;
}
php编程输出100以内的素数
素数就是只能被 1 和它本身所整除的数。从2~100,逐个判断素数,如果是素数,就打印,否则不打印。
源代码如下:
#coding:utf-8
for i in range(2,101):
fg = 0
for j in range(2,i-1):
if i%j == 0:
fg = 1
break
if fg == 0:
print(i)
i = 2
c = []
while i = 100:
j = 2
while j = i:
if i % j == 0:
if i == j:
c.append(i)
break
j += 1
i += 1
print(c)
扩展资料
a~b之间的素数的代码
def su(a,b):
for i in range(a,b):
n = False #默认不是素数,如果是素数,跳出循环
for j in range(2,int(i**0.5)):
if i%j == 0:
n = True
break
if n == False:
print(i,end=" ")
su(100,200)
在php中怎么用函数实现 输出1-100 中的质数(素数,只能被1和本身整除的数)
用函数实现1-100中素数的算法如下:
?php //定义函数
function sushu() {
//求100以内质数
for ($i = 1; $i = 100; $i++)
{
$k = 0;
for ($j = 1; $j $i; $j++) {
if ($i % $j == 0) { $k++;}}
if ($k == 1) {
echo $i;
echo "nbsp;nbsp;";
}
}
}
sushu(); // 调用函数
?
PHP相关知识拓展:
PHP 用户定义函数:
除了内建的 PHP 函数,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。
自定义函数方法:
?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
?
在php环境下,编写程序页面求100到200之间的质数(素数)
?php
for ($i=100; $i = 200; $i++) {
$flag = 0; //用于做个标识
for ($j=2; $j $i; $j++) {
if ($i % $j == 0) {
$flag = 1; //如果$i为质数 则 标识改变 在下面不会输出
break;
}
}
if ($flag == 0) {
echo $i . "br /";
}
}