Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Nwd metoda parzystosci

$
0
0

Witam mam mały problem z przekształceniem pseudo kodu w program.

Jest to Algorytm euklidesa :

Read (a,b)

while(b>0) do

begin

     if (a<b) then zamien (a,b)

     if (parzyste(a) and parzyste(b)) then

           begin

                a:=a div 2;

                b:=b div 2;

           end;

     else

     if (parzyste(a) and not parzyste(b)) then a:=a div 2; else

     if (not parzyste(a) and parzyste(b)) then b:=b div 2; else

     a:=a-b;

end;

Write(a);

div to dzielenie całkowite, parzyste sprawdza czy liczba jest parzysta .

Mając taki kod dla danych wejściowych 50 i 10 dostaję błędny wynik 5 

int euklides_3(int a,int b)
{
    if(a<b && a+b<0)
        return -1;

    while (b>0)
    {
        if(a<b)swap(a,b);
        if(a%2==0 && b%2==0)
        {
            a=a/(2);
            b=b/(2);
        }
        else if(a%2==0 && b%2!=0)
            {
                a=a/(2);
            }
            else if(a%2!=0 && b%2==0)
                {
                    b=b/(2);
                }
                else
                {
                    a=a-b;
                }
    }

    return a;
}

Jakieś podpowiedzi?? Byłbym wdzięczny.


Viewing all articles
Browse latest Browse all 21942

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


Windows XP Black Edition 8.2 PL


Musierowicz Małgorzata - Małomówny i rodzina [audiobook PL]


Mora Ulartu


Kasowanie inspekcji Hyundai ix35


Quansheng TK11- ręczniak 12-10m/6m/2m/70cm


Jakie jest rokowanie (brak odpowiedzi)


Call of Duty Modern Warfare Remastered Spolszczenie


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Alawar Keygen POLECAM