• Source
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. int get_gcd(int u, int v)
    5. {
    6. int t;
    7. while (u)
    8. {
    9. if(u < v)
    10. {
    11. t = u; u =v; v = t;
    12. }
    13. u = u- v;
    14. }
    15. return v;
    16. }
    17.  
    18. int gcd_modules(int u, int v)
    19. {
    20. int t;
    21. while(v) // v가 0보다 클 동안
    22. {
    23. t = u % v;
    24. u = v;
    25. v = t;
    26. }
    27. return u;
    28. }
    29.  
    30. int gcd_recursion(int u, int v)
    31. {
    32. if (v == 0)
    33. return u;
    34. else
    35. return gcd_recursion(v, u%v);
    36. }
    37.  
    38. int main()
    39. {
    40. int u, v;
    41. int gcd;
    42.  
    43. u = 280;
    44. v= 30;
    45.  
    46. std::cout << "get_gcd result " << "\n";
    47. gcd = get_gcd(u,v);
    48. std::cout << "gcd = " << gcd << "\n";
    49.  
    50. std::cout << "gcd_modules result " << "\n";
    51. gcd = gcd_modules(u,v);
    52. std::cout << "gcd = " << gcd << "\n";
    53.  
    54. std::cout << "gcd_recursion result " << "\n";
    55. gcd = gcd_recursion(u,v);
    56. std::cout << "gcd = " << gcd << "\n";
    57.  
    58.  
    59. return 0;
    60. }