import java.util.Scanner;
public class Sieve {
public static void main(String args[])
{
System.out.println("?.sayıya kadar olan asal sayıları görmek istiyorsunuz");
Scanner input = new Scanner(System.in);
int sayi = input.nextInt();
asalBul(sayi);
}
private static void asalBul(int sayi) {
int[] dizi = new int[sayi];
int j;
int k = 0;
int sayac = 0;
for(int i=2;i<sayi;i++)
{
dizi[i] = i;
}
int limit = (int) Math.floor(Math.sqrt(sayi));
for(int i=2;i<limit;i++)
{
if(dizi[i] != 0)
{
j = i*i;
while(j<sayi)
{
dizi[j] = 0;
sayac++;
j = j + i;
}
}
}
int[] newDizi = new int[sayi];
for(int i=2;i<sayi;i++)
{
if(dizi[i] != 0)
{
newDizi [k] = dizi[i];
k++;
}
}
System.out.print("\n\n");
for(int i=0;i<sayi;i++)
{
if(newDizi[i] != 0)
{
System.out.print(newDizi[i]+ " ");
}
}
}
}
Hiç yorum yok:
Yorum Gönder