Ocena użytkownikóww: ***** / 6
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;
}