gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Pretrazivanje sa vracanjem, zadatak sa ciframa
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Cifre / Zad0.java
diff --git a/PretrazivanjeSaVracanjem/Cifre/Zad0.java b/PretrazivanjeSaVracanjem/Cifre/Zad0.java
new file mode 100644 (file)
index 0000000..0c9c8f2
--- /dev/null
@@ -0,0 +1,39 @@
+
+public class Zad0 {
+    static int[] broj;
+    
+    // Konstante koje omogucavaju laku promenu resenja
+    // kakva se generisu ovim programom
+    static final int MIN_CIFRA = 0;
+    static final int MAX_CIFRA = 9;
+
+    public static void main(String[] args) {
+        // napravimo niz trazene duzine
+        // sadrzaj niza zapravo nije bitan
+        broj = new int[] {MIN_CIFRA, MIN_CIFRA, MIN_CIFRA, MIN_CIFRA};
+        sastavibroj(broj, 0);
+    }
+
+    public static void sastavibroj(int[] broj, int pozicija) {
+
+       // trivijalan slucaj - dosli smo do kraja niza
+        if (pozicija >= broj.length) {
+           // imamo kompletno resenje, ispisujemo na ekran
+            for (int i: broj)
+                System.out.print(i);
+            System.out.println();
+            return;
+        }
+
+       // postavimo inicijalnu vrednost
+        broj[pozicija] = MIN_CIFRA;
+
+       // inace isprobavamo sve mogucnosti na ovoj poziciji
+        while (broj[pozicija] <= MAX_CIFRA) {
+           // probamo dalja mesta
+            sastavibroj(broj, pozicija+1);
+            broj[pozicija] = broj[pozicija]+1;
+        }
+
+    }
+}
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner