#include
#include
int f(int n)
{
int i;
//素数标准:只能被自己和1整除的数字
for(i=2;i<=sqrt(n);i++)
{
//能被其他数整除,就不是素数
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i,k=0;
printf("1至100之间的素数从小到大分别为:\n");
for(i=2;i<=100;i++)
{
//依次判断所有数字是否为素数
if(f(i))
{
k++;
printf("%d\t",i);
}
}
printf("\n总共%d个。\n",k );
return 0;
}
#include
int main()
{
int n;
for( n=2;n<=100; n++ ) //遍历2-100,最小的质数是2,检查每个数是不是质数
{
int i;
for( i=2;i{
if ( n%i==0 )
break; //如果i是n的因数,提前结束循环,此时,i一定小于n
}
if ( i==n ) //没有因数,则i会等于n
printf("%d ", n ); //输出该质数
}
return 0;
}
质数是只能被1和它本身整除的数
#include
int main()
{
int i, j;
for(i=2;i<=100;++0)
{
for(j=2;j*j<=i;++i){//j<=根号i
if(i%j==0)break;//整除就跳出
}
if(j*j>i)printf("%d\n", i);//2-根号i中没有被i整除的数
}
return 0;
}
#include
int IsPrime(int n)
{
int i;
for(i=0;i
return 0;
return 1;
}
int main()
{
int i;
printf("1-100中的质数有:\n");
for(i=1;i<=100;i++)
if(IsPrime(i))
printf("%3d",i);
printf("\n");
return 0;
}