zadanie - skracanie ulamka - do spr.

0

Witam

Skracanie ulamka zwyklego do najprostrzej postaci, napisalem metode i mam pytanie czy to jest poprawna implementacja?
Dziala, wydaje mi sie ze powinno szukac dzielnika w najmniejszej liczbie kroków ale to odejmowanie od "a" jedynki i chwile pozniej dodawanie 1 dziwnie wyglada - czy tak sie robi?

 
        public void SkrocUlamek()
        {
            int a = 2;
            int min = 0;

            do
            {
                if((licznik % a) == 0 && (mianownik % a) == 0)
                {
                    licznik = licznik / a;
                    mianownik = mianownik / a;

                    if(licznik > mianownik)
                    {
                        min = mianownik;
                    }
                    else
                    {
                        min = licznik;
                    }
                    a--;
                }
                a++;
            } while(a<min);
        }

Opcja 2:

 
        public void SkrocUlamek()
        {
            int a = 2;

            do
            {
                if((licznik % a) == 0 && (mianownik % a) == 0)
                {
                    licznik = licznik / a;
                    mianownik = mianownik / a;

                    a--;
                }
                a++;
            } while(a<mianownik && a<licznik);
        }
0

opcja 3
podzielić jedno i drugie przez ich GCD czyli NWD

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