gcd ÃÖ´ë°ø¾à¼ö¸¦ »êÃâÇÑ´Ù
int gcd(int n1, int n2);
n1, n2 2°³ÀÇ ºÎ°¡ ¾Æ´Ñ Á¤¼ö
2°³ÀÇ Á¤¼öÀÇ ÃÖ´ë°ø¾à¼ö
int gcd(int n1, int n2) { if (n2 == 0) return n1; else return gcd(n2, n1 % n2); }
LameÀÇ Á¤¸®¿¡ ÀÇÇØ, ÀÌ ¾Ë°í¸®ÁòÀº Á¤¼öÀÇ ÀÛÀº (ºÐ)ÆíÀÇ ÀÚ¸®¼öÀÇ 5¹è À̳»¿¡¼ ¹Ýµå½Ã Á¾·áÇÑ´Ù. µû¶ó¼ °è»ê·®Àº O(logN)ÀÌ´Ù.
¶Ç, n°³¼öÀÇ ÃÖ´ë°ø¾à¼ö¸¦ ¿ä±¸ÇÏ·Á¸é , ¿ì¼± ÃÖÃÊ 2°³ÀÇ Á¤¼ö¿¡ »ó±âÀÇ ¹æ¹ýÀ» Àû¿ëÇØ ÃÖ´ë°ø¾à¼ö¸¦ ¿ä±¸ÇØ ´ÙÀ½¿¡ 3¹ø°ÀÇ Á¤¼ö·Î °è»êÇÑ ÃÖ´ë °ø¾à¼ö·ÎºÎÅÍ ´Ù½Ã ÃÖ´ë°ø¾à¼ö¸¦ °è»êÇÑ´Ù. ÀÌ¿Í °°ÀÌ ¸¶Áö¸· Á¤¼ö±îÁö Á¶] µ¹·ÁÁÖ¸é, n°³ÀÇ Á¤¼öÀÇ ÃÖ´ë°ø¾à¼ö°¡ ¿ä±¸µÈ´Ù.