ふるい法は素数を求めます(C言語/C++)
2471 ワード
素数とは
定義#テイギ#
C言語実現判定素数
このコードはわかりやすいはずですが、n以内の素数を求めると、この方法は遅くなりますので、次の節をご覧ください
ふるいほうそすう
定義#テイギ#
1 , 1 。
C言語実現判定素数
int prime(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
return 0;
}
return 1;
}
このコードはわかりやすいはずですが、n以内の素数を求めると、この方法は遅くなりますので、次の節をご覧ください
ふるいほうそすう
#include
#include
#include
#include
using namespace std;
bool f[1000005];
int main()
{
int n;
scanf("%d",&n);
f[1]=false;
for(int i=2;i<=n;i++)
f[i]=true;
for(int i=2;i<=n;i++)
{
if(f[i]==true)
{
for(int j=2;j*i<=n;j++)
f[i*j]=false;
}
}
for(int i=2;i<=n;i++)
if(f[i])
printf("%d ",i);
}