Witam. Mam pytanie, ostatnio napisałem sobie algorytm NWD przy pomocy instrukcji if i nie dziala dla np,nwd(12,18), a po zmianie na while chodzi jak należy.Dlaczego?
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b;
cout<<"Wpisz a ",cin>>a,cout<<"Wpisz b ",cin>>b;
if( a !=b )
{
if (a>b)
{
a=a-b;
}
else b=b-a;
}
cout<<"Oto NWD "<<a;
cin.get(),cin.get();
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b;
cout<<"Wpisz a ",cin>>a,cout<<"Wpisz b ",cin>>b;
while( a !=b )
{
if (a>b)
{
a=a-b;
}
else b=b-a;
}
cout<<"Oto NWD "<<a;
cin.get(),cin.get();
return 0;
}