fork(1) download
  1. #include <iostream>
  2.  
  3. int nwd(int a, int b);
  4.  
  5. int main()
  6. {
  7. int t, a, b;
  8. std::cin>>t;
  9. for(int licznik=0;licznik<t;licznik++)
  10. {
  11. std::cin >>a >>b;
  12. std::cout<<nwd(a,b) <<std::endl;
  13. }
  14. }
  15.  
  16. int nwd(int a,int b) //algorytm Euklidesa
  17. {
  18. if (a==0||b==0)
  19. return 0;
  20. if (a==b)
  21. return a;
  22. int LiczbaWieksza,LiczbaMniejsza;
  23. if (a>b)
  24. {
  25. LiczbaWieksza=a;
  26. LiczbaMniejsza=b;
  27. }
  28. if (b>a)
  29. {
  30. LiczbaWieksza=b;
  31. LiczbaMniejsza=a;
  32. }
  33. int modulo=LiczbaMniejsza;
  34. while(1)
  35. {
  36. if(LiczbaWieksza%modulo==0)
  37. return modulo;
  38. modulo=LiczbaWieksza%modulo;
  39. }
  40. }
  41.  
Success #stdin #stdout 0s 3472KB
stdin
1 123456 653421
stdout
3