algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Rozszerzony algorytm Euklidesa - Implementacja w C/C++
Ocena użytkownikóww: *****  / 6
SłabyŚwietny
Nadesłany przez Emil Hotkowski, 24 sierpnia 2012 11:57
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

euklides_rozsz.cpp:
//Rozszerzony Algorytm Euklidesa
//Emil Hotkowski
//www.algorytm.org

#include <iostream>
#include <cmath>
using namespace std;

int m=0, mp=0, r=0, rp=1, nwdw=0;

void NWD(int a, int b)
{
     if(b==0)
     {
          nwdw=a;
          r=a;
          return;
     }
     else
          NWD(b,a%b);
          
     cout<<mp<<"*"<<m<< " + "<<rp<<"*"<<r<<"\n";
     int t=mp;
     mp=(rp-floor(a/b)*mp);
     m=b;
     rp=t;
     r=a;
}
     
int main()
{
    int a, b;
    cin>>a>>b;
    NWD(a,b);
    cout<<nwdw<<" = "<<mp<<"*"<<m<< " + "<<rp<<"*"<<r<<"\n";
    system("PAUSE");
    return 0;
}
Dodaj komentarz