private static long[] primeFactors(long number) {

        // Maximale Faktoranzahl ermitteln
        int maxFactors = (int) Math.ceil(Math.log10(number) / Math.log10(2));

        if(maxFactors <= 0) maxFactors = 0;

        // Tempor�res Array erzeugen
        long[] tmp = new long[maxFactors];

        // Z�hler der tats�chlichen Faktoranzahl initialisieren
        int anzahlFaktoren = 0;

        for(long j = 2; j <= number; j++) {
            // Ist j Primfaktor?
            if(number % j == 0) {
                // Primfaktor sichern und Anzahl der Primfaktoren erh�hen
                tmp[anzahlFaktoren++] = j;
                // n �ndern
                number = number / j;
                // j erneut auf Startwert 2 (1++) setzen
                j = 1;
            }
        }
        return Arrays.copyOf(tmp, anzahlFaktoren);
    }