Napisz program realizujący algorytm Euklidesa w wersji z odejmowaniem.
Z góry dziękuję za pomoc :)


Odpowiedź :

#include<iostream>

using namespace std;

int iterEuk(int a, int b){//iteracyjnie

while(a!=b){

 if(a>b){

  a -= b;

 }

 else{

  b -= a;

 }

}

return a;

}

int rekEuk(int a, int b){//rekurencyjnie

if (a < b) {

  a += b;

  b = a - b;

  a -= b ;

 }

if (a==b) {

 return b;

}

return rekEuk(b, a-b);

}

int main(){

unsigned int a,b;

cin>>a>>b;

 

cout<<"iter: "<<iterEuk(a,b)<<endl;

cout<<"rek: "<<rekEuk(a,b);

 

return 0;

}

Zobacz obrazek 131415926