本文目录一览:
c语言判断一个数是否为质数
#includestdio.h
int main()
{
int i, n;
while (scanf("%d", n) != EOF)
{
for (i = 2; i n; i++)
if (n % i == 0)
break;
if (i = nn1)
printf("%d是质数\n", n);
else
printf("%d不是质数\n", n);
}
return 0;
}
C语言判断一个数是否是质数
根据质数的定义,在判断一个数n是否是质数时,只要用1至n-1去除n,看看能否整除即可。
还有更好的办法:先找一个数m,使m的平方大于n,再用小于等于m的质数去除n(n为被除数),如果都不能整除,则n必然是质数。如我们要判断1993是不是质数,50*501993,那么只要用1993除以50的质数看是否能整除,若不能即为质数。100以内的质数有25个,还是比较好记的,只要记熟100以内质数,就可以快速判断10000以内的数是不是质数。
100以内的质数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,在100内共有25个质数。
只有1和它本身两个因数的自然数,叫质数(或称素数)。(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)
c语言判断质数
#includestdio.h
#include math.h
void main()
{ int zhi(int);
int j=0,b[20]={1,3,7,9},a[20]={2,3,5,7},c,l=4,d[20],n,g=0,h=0,i,N,s=10,z,f;
scanf("%d",N);
for(i=1;i=N-1;i++)
{
for(j=0;jl;j++)
{
n=a[j]*s;
f=n;
for(h=0;h4;h++)
{ n=n+b[h];
c=zhi(n);
if(c==1)
d[++g]=n;
n=f;
}
}
for(j=0;jg;j++)
a[j]=d[j+1];
l=g,z=g,g=0;
}
if(N==1)
printf("2\n3\n5\n7\n");
else
for(j=1;j=z;j++)
printf("%d\n",d[j]);
}
int zhi(int m)
{ int k,i,c=0;
k=(int)sqrt(m);
for(i=2;i=k;i++)
if(m%i==0)break;
if(ik) c=1;
return c;
}
C语言输入一个整数,判断是否是质数?
#includestdio.h//头文件
int main()//主函数
{
int number,i;//定义变量
printf("请随机输入一个数:");//提示语句
scanf("%d",number);//键盘输入需要判断的数
for(i=2;i=number-1;i++)//循环从2开始,到这个数的掐前一个数为止
{
if(number%i==0)//如果取余结果为0
break;
}
if(inumber)
{
printf("%d不是素数",number);
}
else
{
printf("%d是素数",number);
}
return 0; //函数返回值为0
}