判断素数的c语言程序是什么

判断素数的c语言程序是什么,第1张

基本思想:把m作为被除数,将2—INT()作为除数,如果都除不尽,m就是素数,否则就不是。

可用以下程序段实现:

voidmain()

{intm,i,k;

printf("pleaseinputanumber:\n");

scanf("%d",&m);

k=sqrt(m);

for(i=2;i<k;i++)

if(m%i==0)break;

if(i>=k)

printf("该数是素数");

else

printf("该数不是素数");

}

将其写成一函数,若为素数返回1,不是则返回0

intprime(m%)

{inti,k;

k=sqrt(m);

for(i=2;i<k;i++)

if(m%i==0)return0;

return1;

}

扩展资料:

100->200之间的素数的个数,以及所有的素数

#include<stdioh>

#include<mathh>

intmain()

{

inta,m,k,i;

a=0;

for(i=101;i<=200;i++)

{

for(k=2;k<i;k++)

if(i%k==0)break;

if(k>=i)

a++;

}

printf("%d\n",a);

for(i=101;i<=200;i++)

{

for(k=2;k<i;k++)

if(i%k==0)break;

if(k>=i)

a++;

if(k>=i)

printf("%d",i);

}

printf("\n");

return0;

}

#include&lt;iostream&gt;

#include"mathh"

using namespace std;

bool isPrimeNumber(int number){//判断是否为素数

float sqrtOfNum=sqrt(number);

for(int j=2;j&lt;=sqrtOfNum;j++)//从2到number的算术平方根迭代

if(number/jj==number)//判断j是否为number的因数

return false;

return true;

}

void printNum(int number){//打印出&lt;=number的所有质数

int j=0;

for(int i=2;i&lt;=number;i++)

if(isPrimeNumber(i)==true){

cout&lt;&lt;("%-5d",i)&lt;&lt;"";

j++;

if(j%10==0)//每隔十个数字换行

cout&lt;&lt;endl;

}

}

int main(){

long start=time(NULL);

cout&lt;&lt;(bool)isPrimeNumber(29)&lt;&lt;endl;

printNum(1000);

long end=time(NULL);

cout&lt;&lt;endl&lt;&lt;"Time spent:"&lt;&lt;(end-start+1)&lt;&lt;endl;

}

扩展资料:

C++100以内的素数代码:

#include&lt;iostream&gt;

#include&lt;mathh&gt;

using namespace std;

const int N=300;

bool prime[N];//布尔数组变量0、1

void primeNum(int a);

void printPrimeNum();

//主函数

int main()

{

primeNum(N);

printPrimeNum();

return 0;

}

//得到N以内的素数

void primeNum(int a)

{

int i,j,n=0;

for(i=2;i&lt;a;i++)//第一轮筛选去掉2的倍数

{

if(i%2)prime&lt;i&gt;=true;

else prime&lt;i&gt;=false;

}

for(i=3;i&lt;=sqrt((double)a);i++)//double(N)是将N强制转换为双精度整型,求平方根i=3,5,7,9

{

if(prime&lt;i&gt;)

for(j=2i;j&lt;N;j+=i)prime[j]=false;//第二轮筛选相当于j=ni,去掉3,5,7的倍数

}//经过两轮筛选相当于去掉了2,3,5,7的倍数

}

//打印N以内的素数

void printPrimeNum()

{

int i,n=0,primeList[N];

for(i=2;i&lt;N;i++)

if((i==2)||(prime&lt;i&gt;))primeList[n]=i,n++;

cout&lt;&lt;N&lt;&lt;"以内的素数个数为:"&lt;&lt;n&lt;&lt;endl&lt;&lt;"它们分别是:"&lt;&lt;endl;

for(i=0;i&lt;n;i++)cout&lt;&lt;primeList&lt;i&gt;&lt;&lt;"";

}

以上就是关于判断素数的c语言程序是什么全部的内容,包括:判断素数的c语言程序是什么、怎样用C++程序判断一个数是否为素数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10090311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存