public class Primfaktorzerlegung { public static void factorize(int z) { if (z >= 2) { int f = 2; // factor int r = z; // remainder while (f <= Math.sqrt(z)) { int c = 1; // counter while (r % f == 0) { c += 1; r /= f; } if (c > 1) { System.out.println(f + "^" + (c-1)); } if (f == 2) { f = 3; } else { f += 2; } } if (r != 1) { System.out.println(r + "^1"); } } } public static void main(String[] args) { factorize(1189007123); } }