import java.util.Arrays;
public class Telocvik {
private int[] cisla;
private int[] rad;
public Telocvik(int[] cisla) {
this.cisla = cisla;
}
public boolean mozeByt(int idx, int hodnota) {
for (int i = 0; i <= idx - 1; i++) {
if (rad[i] == hodnota)
return false;
}
if (idx > 0)
if (rad[idx - 1] % hodnota == 0
|| hodnota % rad[idx - 1] == 0) {
return false;
}
return true;
}
private void generuj(int odIdx) {
if (odIdx == rad.length) {
spracuj();
return;
}
for (int i = 0; i < cisla.length; i++) {
if (mozeByt(odIdx, cisla[i])) {
rad[odIdx] = cisla[i];
generuj(odIdx + 1);
}
}
}
private void spracuj() {
System.out.println(Arrays.toString(rad));
}
public void generujRady() {
rad = new int[cisla.length];
generuj(0);
}
/**
* @param args
*/
public static void main(String[] args) {
int[] cisla = { 3, 5, 7, 4, 8, 2 };
Telocvik tv = new Telocvik(cisla);
tv.generujRady();
}
}