Я использую сито Эратосфена в качестве основы. Он работает со 2-199, но он просто останавливает печать значений за пределами этого. Вот мой код:
import java.util.ArrayList;
public class Scratchpad
{
public Scratchpad()
{
}
public ArrayList<Integer> makeList(int max)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
for (int i = 2; i <= max; i++)
{
arrList.add(i);
}
return arrList;
}
public ArrayList<Integer> removeMult(ArrayList<Integer> arrList, int n)
{
for (int i = 0; i < arrList.size(); i++)
{
if ((arrList.get(i) % n == 0) && arrList.get(i) != n)
{
arrList.remove(i);
i--;
}
}
return arrList;
}
public ArrayList<Integer> primesOnly(ArrayList<Integer> arrList)
{
for (int i = 0; i < arrList.size(); i++)
{
removeMult(arrList, arrList.get(i));
System.out.println(arrList.get(i));
}
return arrList;
}
}
Работает для всех простых чисел 2-199.
cmd экранная крышка (извините за дерьмовый кроп)