php求素数,编程求1到100之间的所有素数,并输入结果?

用户投稿 193 0

关于“php_求素数”的问题,小编就整理了【3】个相关介绍“php_求素数”的解答:

编程求1到100之间的所有素数,并输入结果?

#include<stdio.h>

int main()

{

int n1,nm,i,j,flag,count=0;

do{

printf("Input START and END=?");

scanf("%d%d",&n1,&nm); /*输入求素数的范围*/

}while(!(n1>0&&n1<nm)); /*输入正确的范围*/

printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);

if(n1==1||n1==2) /*处理素数2*/

{

printf("%4d",2);

n1=3;count++;

}

for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/

{

if(!(i%2))continue;

for(flag=1,j=3;flag&&j<i/2;j+=2)

/*判定能否被从3到整数的一半中的某一数所整除*/

if(!(i%j))flag=0; /*若能整除则不是素数*/

if(flag) printf(++count%15?"%4d":"%4d\n",i);

求1到100之间的所有素数。求程序?

程序及解释如下: 首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 则有如下程序 { int m,k,i; for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2. { k=sqrt(m)

//先求这个数的平方跟 for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m, if(m%i==0) break; //如果能被整除, 则不是素数,break if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数 } }

求素数公式?

   素数又称质数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数,否则称为合数。

    根据算术基本定理,每一个比1大的整数,要么本身是一个素数,要么可以写成一系列素数的乘积;而且如果不考虑这些素数在乘积中的顺序,那么写出来的形式是唯一的,最小的素数是2。

(1)素数p的约数只有两个:1和p。

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

(3)素数的个数是无限的。

(4)素数的个数公式π(n)是不减函数。

(5)若n为正整数,在n的2次方到(n+1)的2次方之间至少有一个素数。

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

n/2

到此,以上就是小编对于“php_求素数”的问题就介绍到这了,希望介绍关于“php_求素数”的【3】点解答对大家有用。

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