fork(1) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int GRA(int a, int b)
  6. {
  7. if (a==b) return a+b;
  8. else if ((a==1)||(b==1)) return 2;
  9. else if ((a==2)&&(b%2==0)) return 4;
  10. else if ((a==2)&&(b%2==1)) return 2;
  11. else if ((b==2)&&(a%2==0)) return 4;
  12. else if ((b==2)&&(a%2==1)) return 2;
  13. else if (a<b)
  14. {
  15. b=b-a;
  16. return GRA(a,b);
  17. }
  18. else if (a>b)
  19. {
  20. a=a-b;
  21. return GRA(a,b);
  22. }
  23. }
  24. int main()
  25. {
  26. int ile_krokow;
  27. int GRACZ_A=0, GRACZ_B=0;
  28. cin>>ile_krokow;
  29. for (int i=0; i<ile_krokow; i++)
  30. {
  31. cin >>GRACZ_A>>GRACZ_B;
  32. cout<<GRA(GRACZ_A, GRACZ_B)<<endl;
  33. }
  34. return 0;
  35.  
  36. }
  37.  
Success #stdin #stdout 0s 15232KB
stdin
3
15 18
1 100000
561 891
stdout
6
2
66