zrobiłem program nwd, spoj nie zalicza go chociaż program działa prawidłowo. Porównałem jego działanie z programem którego spoj zaliczył. wyszło na to że programy działają tak samo a mojego nie zalicza. Czy pomoże ktoś ? Uwaga wstawiam kod cały mój i ten który zalicza. wyniki są takie same
mój:
#include <iostream>
using namespace std;
int nwd(int a, int b){
while (b != a) {
if (a > b) {
(a = a - b);
}
else {
(b = b - a);
}
}
return a;
}
int main()
{
int ile;
int a;
int b;
cin >> ile;
for (int i=0; i<ile; i++){
cin >> a;
cin >> b;
cout << nwd(a, b) << endl;
}
return 80;
}
działający:
#include <iostream>
int test,liczbaTestow;
int a,b;
int nwd(int a,int b){
while(a!=b){
if(a>b){
a-=b;
}else if(b>a){
b-=a;
};
};
return a;
}
int main(int argc, char const *argv[]) {
std::cin>>test;
while(test>liczbaTestow){
std::cin>>a>>b;
std::cout<<nwd(a,b)<<std::endl;
liczbaTestow++;
};
return 0;
}