Auf Thema antworten

[code=Java]import java.util.*;

import java.math.*;


public class Main

{


    public static void main(String[] args)

    {

        ArrayList<BigDecimal> p=new ArrayList<BigDecimal>();

        BigDecimal i=new BigDecimal(1);

        //Scanner sn=new Scanner(System.in);

        while (true)

        {

            i=i.add(new BigDecimal(1));

            boolean prim=true;

            //int sqrti=(int)Math.sqrt(i)+1;

            for (BigDecimal n:p)

            {

                //if(n>sqrti)

                    //break;

                if (i.remainder(n).equals( new BigDecimal(0)))

                {

                    prim = false;

                    break;

                }

            }

            if (prim)

            {

                p.add(i);

                System.out.println(i);

                //sn.nextLine();

              

            }


        }

    }

}

[/code]

Ist allerdings überflüssig, da dieser Algorithmus ab gewisser Anzahl von Primzahlen ziemlich langsam wird.

Vllt nimmt man ein grosses BigDecimal und sucht die nächsthöhere Primzahl...



Oben