导航:首页 > 编程语言 > php判断素数

php判断素数

发布时间:2022-07-01 15:14:20

A. 在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(); // 调用函数

?>



B. 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)

(2)php判断素数扩展阅读

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)

C. php判断一个数是否为素数

functionselectnum($num){
for($j=2;$j<sqrt($num);$j++){
if($num%$j==0){
returnfalse;
}
}
returntrue;
}

判断是不是 素数 ,若 返回true 就是 素数,因为 若一个数能被整除,那肯定就不是素数!!!

加平方根验证(sqrt)的目的,是为了优化性能,因为:

如果它不是质数,那么它应该可以表示成两个非1非自身的数相乘。

而这两个数,必然有一个大于平方根一个小于平方根,或者两个都等于平方根。

下面是 获取 1000000 内 所有的 素数 ,在PHP7下 能做到2.3秒, 在5下 不到4秒!

publicfunctiontest()
{
$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).'个素数';
}

functiontestnum($num){
for($j=2;$j<sqrt($num);$j++){
if($num%$j==0){
returnfalse;
}
}
returntrue;
}

D. php筛选法素数

  1. $d<=$sqrt 为什么还要加上这个条件?
    减少循环的次数。

  2. /////////不是很理解这个continue2是什么意思?
    跳出2重循环。也就是跳到for($i=2; $i<=$n; ++$i) 这个循环


E. PHP中关于判断一个数是否是素数的表单操作,有个地方不知道该怎么改

for语句缺少步长,你的代码会进入死循环,下面的语句:
for($i=1;$i<=$n1;){
应该修改为:
for($i=1;$i<=$n1;$i++){

F. PHP模块化素数验证

//素数的验证与获取
//参数: 1.最小值(>=2) 2.最大值(>最小值) 3.返回数组指针,当参数不合法时不返回
function matchOne($min,$max,&$retData){

if(is_numeric($min) && $min > 1 && $min < $max && is_numeric($max)){
$data = array();
for($i = $min;$i<$max;$i++){
$c=0;
for($j=1;$j<=$i;$j++)
{
if(($i%$j)==0)
{
$c++;
}
}
if($c==2)
{
$data[] = $i;
}
}
$retData = $data;
return true;
}else{
return false;
}
}

function prt_array($value,$key){
if(is_array($value))
{
echo "[$key] => \n".print_m($value);
}else{
echo "[$key] => $value \n";
}
}
//print_r 函数的实现函数
function print_m($var){
if(is_array($var))
{
echo "Array\n(\n";
array_walk($var,"prt_array");
echo "\n)";
}
}
if($_GET['do'] == 'query')
{
$min = $_GET['minInput'];
$max = $_GET['maxInput'];
matchOne($min,$max ,&$data );
if(matchOne($min,$max ,&$data ))
{
print_m($data);
}else{
echo '输入的必须是数字,或者大于1且最大值大于最小值的整数。';
}

}
echo '</br>';
echo '<form><input name="do" type="hidden" value="query"/>最小值:';
echo '<input name="minInput"/>最大值:<input name="maxInput"/><p>';
echo '<input type="submit" value="提交"/></p></form>';

G. 在PHP中,用自定义函数,用于判断输入的整数是否为质数。并输出1-100之间所有的

//显示1-100之间所有质数 并求和
function zishu() {
$sum=0;
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 " ";
$sum=$sum+$i;
}
}
echo '<br>';
echo '1-100所有质数和为:'.$sum;
}
zishu(); // 调用函数

H. 求救贴怎么用PHP来判断一个数是质数还是合数

质数是除了1和它本身之外,不能被其他数整除的正整数,又称素数。
质数和合数的区别在于因数的个数,质数只有2个因数,合数有多于2个因数。
除1,0以外不是质数的正整数就是合数。
"0"“1”既不是质数也不是合数。
把情况想全了就除 判断余数

I. 如何用PHP判断 1-20中有多少个素数

function isprime($num)
{
for($i=2;$i<$num;$i++)
{
if($num % $i == 0)
return false;
}
return true;
}
function totprime($num)
{
$tot=0;
for($i=2;$i<=$num;$i++)
{
if(isprime($i))
{
$tot += 1;
}
}
return $tot;
}
echo(totprime(20));

阅读全文

与php判断素数相关的资料

热点内容
小苮儿短篇有声小说网盘 浏览:234
安卓71如何从tp上下载光遇 浏览:997
centosyumjava安装 浏览:797
夏开头的电影,电视剧 浏览:622
绿色的夜晚在线免费观看电影 浏览:715
日本电影里有个叫布川裤子是什么电影 浏览:612
sed命令组合 浏览:371
三年级孩子刚学编程的作品 浏览:427
韩剧带个小女孩的杀手 浏览:630
java通讯机 浏览:831
服务器的后台是什么样子 浏览:139
韩国卖保险的女人电影 浏览:805
全裸同性大尺度电影有哪些 浏览:256
《 男孩的名字叫男孩 》电影 浏览:300
解压音乐跑酷游戏 浏览:860
苏州市软件加密方案 浏览:167
非洲建国小说 浏览:143
和电视同步的是什么app 浏览:860
爸爸和女儿在一起的泰国电影 浏览:895
怎么给股票公式加密码 浏览:359