Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem #java #metoda #vystupjakopole #rozkladprvocinitele

Ja teda nevim, co ti tam nejde, ale mne ten kod funguje:

import java.util.ArrayList;
import java.util.Arrays;

public class Main {

    public static void main(String... args) {
        System.out.println(Arrays.toString(prvociselnyRozklad(20)));
    }

    //Metoda, která vrátí prvočíselný rozklad čísla
    public static int[] prvociselnyRozklad(int cislo)
    {
        int prvocinitel = 2;
        ArrayList<Integer> list = new ArrayList<Integer>();

        while (prvocinitel <= cislo)  //je-li prvocinitel mensi ci roven
        {
            if (cislo%prvocinitel == 0) //je-li delitelne prvocinitelem
            {
                cislo = cislo/prvocinitel; //vydelime a ulozime do cislo
                // System.out.print(" " + prvocinitel); //vypis prvocinitele
                list.add(prvocinitel);
            }
            else
            {
                prvocinitel++;
            }

        }

        int[] ints = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            ints[i] = list.get(i);
        }

        return ints;
    }
}
vypisuje spravne 2, 2, 5...

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny