Zadanie należy napisać w języku programowania C++

Jaś i Małgosia zakładają w szkole kółko komunistyczne. Wierzą oni w słuszność zasady
„wszystkich po równo” i chcą, by funkcjonowała ona w ich kółku. Od dyrekcji szkoły dostali
oni x jabłek i y pomarańczy. Chcą przyjąć jak najwięcej dzieci do kółka, jednak tak, by
możliwe było rozdzielenie jabłek i pomarańczy (należy pamiętać, ze jabłka i pomarańcze to
nie to samo, wiec żadne dziecko nie może dostać pomarańczy zamiast należnego mu jabłka.
Wejście
W pierwszej linii będzie liczba 1 <= n <= 1000 oznaczająca liczbę testów. W każdej z
następnych n linii będzie para liczb x y, 0 <= x i y <= 10^9, x + y > 0, oznaczającą liczbę
jabłek i pomarańczy.
Wyjście
Dla każdego testu należy wypisać jedna linie — maksymalną ilość osób na kółku komunistycznym.
Przykład
4
10 100
20 3
42 12
5 0
Wyjście:
10
1
6
5

1

Odpowiedzi

2009-11-12T17:03:39+01:00
#include<iostream>
#include<cstdio>

using namespace std;

int nwd(long int a,long int b)
{
if(b==0) return a;
else return nwd(b, (a % b));
}

main()
{
int n;
long int x, y, pom;

cin>>n; //wczytujemy ilość testów

while(n--)
{
cin>>x>>y;

if(x<y) //po zamianie x>=y
{
pom = x;
x = y;
y = pom;
}

cout<<nwd(x, y)<<endl;
}
getchar();getchar(); //ta linia tylko dla Windowsa
return 0;

}

W razie pytań - pisz na priv.