/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
 */
package liczbypierwsze;

import java.util.ArrayList;

/**
 *
 * @author mateo
 */
public class LiczbyPierwsze {

    /*
    *******************************************************
        nazwa funkcji: znajdzLiczbyPierwsze
        parametry wejściowe: tab - tablice która zostanie wypełniona liczbami pierwszymi od 2..100
        wartość zwracana: void
        informacje: Znajduje liczby pierwsze z przedziału od 2..100 i zapisuje je w parametrze
        autor: 31231231232213123
    ****************************************************
    */
    
    public static void znajdzLiczbyPierwsze(ArrayList<Integer> tab) {
        ArrayList<Boolean> a = new ArrayList<Boolean>();
        tab.clear();
        int n = 100;
        for(int i=0; i<n; i++) {
            a.add(true);
        }
        
        for(int i=2; i<Math.sqrt(n); i++) {
            if(a.get(i)) {
              
                for(int j = i*i; j<n; j+=i) {
                    a.set(j, false);
                }
            }
        }
        
        for(int i=2; i<n; i++) {
            if(a.get(i) == true) {
                tab.add(i);
            }
        }
        
        return;
    } 
    
    
    public static void main(String[] args) {
        // TODO code application logic here
        ArrayList<Integer> liczbyPierwsze = new ArrayList<>();
        
        
        znajdzLiczbyPierwsze(liczbyPierwsze);
        
        for(int i=0; i<liczbyPierwsze.size(); i++) {
            System.out.print(liczbyPierwsze.get(i)+ ", ");
        }
    }
    
}
