Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added Eratostenes's Algorithm in Java language to math source.

  • Loading branch information...
commit 5fed5110ca5fa18818c2a14376ab069cf25398e3 1 parent 0db3955
@filipesaraiva filipesaraiva authored
Showing with 65 additions and 0 deletions.
  1. +65 −0 math/eratostenes/eratostenes.java
View
65 math/eratostenes/eratostenes.java
@@ -0,0 +1,65 @@
+import java.util.ArrayList;
+
+public class eratostenes {
+
+ public static ArrayList<Integer> eratostenes(ArrayList<Integer> lista, int numVerificacaoMax){
+
+ int posicaoNumAvaliado = 0;
+ int numAvaliado;
+
+ while(true){
+
+ while(lista.get(posicaoNumAvaliado) == 0){
+ posicaoNumAvaliado++;
+ }
+
+ numAvaliado = lista.get(posicaoNumAvaliado);
+
+ for(int contador = posicaoNumAvaliado + 1; contador < lista.size(); contador++){
+
+ if((lista.get(contador) % numAvaliado) == 0){
+ lista.set(contador, 0);
+ }
+ }
+
+ if(lista.get(posicaoNumAvaliado) >= numVerificacaoMax){
+ break;
+ }
+
+ posicaoNumAvaliado++;
+
+ }
+
+ ArrayList<Integer> listaPrimos = new ArrayList<Integer>();
+
+ for(int contador = 0; contador < lista.size(); contador++){
+
+ if(lista.get(contador) != 0){
+ listaPrimos.add(lista.get(contador));
+ }
+ }
+
+ return listaPrimos;
+ }
+
+ public static void main(String[] args) {
+
+ ArrayList<Integer> lista = new ArrayList<Integer>();
+
+ int numLimiteMax = 120;
+
+ int numVerificacaoMax = (int) Math.floor(Math.sqrt(numLimiteMax));
+
+ for(int contador = 2; contador <= numLimiteMax; contador++){
+ lista.add(contador);
+ }
+
+ ArrayList<Integer> listaPrimos = eratostenes(lista, numVerificacaoMax);
+
+ for (Integer integer : listaPrimos) {
+ System.out.print(integer + " ");
+ }
+
+ }
+
+}
Please sign in to comment.
Something went wrong with that request. Please try again.