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

如题所述

基本思想:把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<stdio.h>  

#include<math.h>  

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;  

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-04-14

# include <stdio.h>

int main(void)

{

int primenumber;

int i;

printf("请输入一个数有计算机,判断它是否为素数:");

scanf("%d",&primenumber);

if (primenumber == 0 || primenumber == 1)

{

printf("the is not prime number\n");

}

else

{

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

{

if (primenumber % i == 0)

{

break;

}

}

if (i < primenumber)

{

printf("this is not prime number!\n");

}

else

{

printf("this is prime number!\n");

}

}

return 0;

}

扩展资料:

首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。

命题 1 对于B=36N+1 形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,

则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。

若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,

则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。

两式都无解,是素数。

参考资料来源;百度百科-质数

本回答被网友采纳
相似回答