php求素数的技术博客问答,php判断一个数是不是素数

本文目录一览:

用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 /”;

}

}

原创文章,作者:XBEE,如若转载,请注明出处:https://www.506064.com/n/137640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
XBEEXBEE
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 用不同的方法求素数

    素数是指只能被1和自身整除的正整数,如2、3、5、7、11、13等。素数在密码学、计算机科学、数学、物理等领域都有着广泛的应用。本文将介绍几种常见的求素数的方法,包括暴力枚举法、埃…

    编程 2025-04-29
  • Python热重载技术

    Python热重载技术是现代编程的关键功能之一。它可以帮助我们在程序运行的过程中,更新代码而无需重新启动程序。本文将会全方位地介绍Python热重载的实现方法和应用场景。 一、实现…

    编程 2025-04-29
  • Python计算中文字符个数

    本文将从多个方面对Python计算中文字符个数进行详细的阐述,包括字符串长度计算、正则表达式统计和模块使用方法等内容。 一、字符串长度计算 在Python中,计算字符串长度是非常容…

    编程 2025-04-29
  • Python包络平滑技术解析

    本文将从以下几个方面对Python包络平滑技术进行详细的阐述,包括: 什么是包络平滑技术? Python中使用包络平滑技术的方法有哪些? 包络平滑技术在具体应用中的实际效果 一、包…

    编程 2025-04-29
  • Python实现统计100以内能被7整除的数字个数

    本文将从以下几个方面详细阐述如何使用Python来实现统计100以内能被7整除的数字个数。具体内容包括: 一、range函数 Python中的range函数是用来生成一个数字序列的…

    编程 2025-04-28
  • Python计算个数函数用法介绍

    本文将对Python中计算个数的函数进行详细讲解,包括内置函数、常用模块和自定义函数,并给出完整的代码示例。 一、内置函数 Python内置了多个计算个数的函数,包括len()、c…

    编程 2025-04-28
  • 如何输出100到200之间的素数?

    输出100到200之间的素数是一个常见的问题,这里将介绍一种伪代码实现。 一、素数的定义 素数是只能被1和本身整除的整数。比如2、3、5、7、11等都是素数,而4、6、8、9等就不…

    编程 2025-04-28
  • 微信小程序重构H5技术方案设计 Github

    本文旨在探讨如何在微信小程序中重构H5技术方案,以及如何结合Github进行代码存储和版本管理。我们将从以下几个方面进行讨论: 一、小程序与H5技术对比 微信小程序与H5技术都可以…

    编程 2025-04-28
  • parent.$.dialog是什么技术的语法

    parent.$.dialog是一种基于jQuery插件的弹出式对话框技术,它提供了一个方便快捷的方式来创建各种类型和样式的弹出式对话框。它是对于在网站开发中常见的弹窗、提示框等交…

    编程 2025-04-28

发表回复

登录后才能评论