Algorytm sprawdzający czy podana liczba ma przynajmniej 3 dzielniki

0

Czesc chciałem sie was spytac czy dobrze zrobilem schemat blokowy do algorytmu "Algorytm sprawdzający czy podana liczba ma przynajmniej 3 dzielniki"

Oto moje dzielo http://fotoo.pl/zdjecia/files/2011-09/328079d7.jpg

0

Lol, bez przesady, w schemacie blokowym nie chodzi o to, żeby wkleić algorytm do jednego z nich.

0

To wez pomoz, bo pani mi to zadala na 1 lekcji, a moi kumple podostawali o wiele latwiejsze.

0
kaluza88 napisał(a)

To wez pomoz, bo pani mi to zadala na 1 lekcji, a moi kumple podostawali o wiele latwiejsze.

50zł. Jak chętny jesteś to pisz PW.

0

To ma byc ironia czy cos? Algorytm dla calkiem poczatkujacych, ale dobra widze, ze nawet podpowiedzi czy cos nie dostane.

0

Musisz rozłożyć ten algorytm. Przede wszystkim masz tam pętlę. Strzałeczki musisz porobić do góry. Na pewno miałeś na lekcji.

0

To mnożenie rozbij na pętlę (warunek sprawdzający czy się zakończyła).

0

Nie znam Twojego nauczyciela, ale moim zdaniem schematu blokowego nie ma. W jaki sposób uzyskujesz rozkład liczby n na czynniki pierwsze?
Btw, czy konieczne jest sprawdzanie, że wykładniki są liczbami naturalnymi.

0

81nYX :-)

0

Taki kod

        int gr;
        int ile;
        int factor;
        for(int i=2;i<=upperBound;i++)
        {
            gr=(int)Math.sqrt(i);
            ile=0;
            factor=2;
            while(ile<2 && factor<=gr)
            {
                if((i % factor)==0)
                {
                    ile++;
                }
                factor++;
            }
        }

wykonuje się u mnie (dla upperBound=10 mln.) około 1,5 sekundy.
Ulepszenie polegające na tym, że po znalezieniu pierwszego dzielnika d wykonujemy dzielenie j=i/d i szukamy dzielnika >=d, różnego od d dla liczby j skraca czas dwukrotnie.

0

Chyba w temacie nie zostało powiedziane o jakie dzielniki chodzi. Tak więc każda liczba n ma dwa dzielniki trywialne 1 i n. Tak więc w takim przypadku wystarczyło by sprawdzić czy nie ma jakiegoś trzeciego dzielnika - czyli wystarczyło by sprawdzić czy liczba jest pierwsza.

0

http://pl.wikipedia.org/wiki/Dzielnik

  1. dzielnik: 1, .....,** n**
  2. dzielniki trywialne: 1, n (liczby pierwsze mają tylko takie)
  3. dzielniki właściwe: dzielniki z wyłączeniem n

1 użytkowników online, w tym zalogowanych: 0, gości: 1