fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. typedef unsigned long ulong;
  6.  
  7. namespace Math {
  8.  
  9. void Euclid_it(ulong a, ulong b, ulong *p) {
  10.  
  11. ulong r;
  12.  
  13. while(b){
  14. r = a % b;
  15. a = b;
  16. b = r;
  17. }
  18.  
  19. *p = a;
  20. }
  21.  
  22. ulong Euclid_rec(ulong a, ulong b, ulong *p) {
  23.  
  24. if( b == 0 ) {
  25.  
  26. *p = a;
  27.  
  28. } else return Euclid_rec(b, a % b, p);
  29. }
  30.  
  31. };
  32.  
  33. int main(int argc, char const *argv[])
  34. {
  35.  
  36. int nPairs;
  37. ulong first,
  38. second,
  39. result;
  40.  
  41. cin>>nPairs;
  42.  
  43. for(int i = 0; i < nPairs; ++i) {
  44.  
  45. cin>>first>>second;
  46.  
  47. Math::Euclid_it(first, second, &result);
  48.  
  49. cout<<result<<"\n";
  50. }
  51.  
  52.  
  53.  
  54. return 0;
  55. }
Success #stdin #stdout 0s 4484KB
stdin
3
10 3
100 4
90 5
stdout
1
4
5