素数:
int a[2000000]={0};
for(i=2;i*i<=2000000;i++)
{
if(a[i]==1);
for(j=i*i;j<=2000000;j+=i)
a[j]=1;
}
for(i=2;i<=n;i++)
{
if(a[i]==0)
...
/*a[i]==0就是素数*/
}
经常遇到求某数的质因数
质因数:
#include<stdio.h>
int isprime(int m)
{
int i,j;
int flag=1;
for(i=2;i<m;i++)
{
if(m%2==0)
return 0;
}
return 1;
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(isprime(i)&&n%i==0)
printf("%d ",i);
}
return 0;
}