本文目錄一覽:
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
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288510.html