main(a,b){scanf("%d%d",&a,&b);while(a%=b)a^=b^=a^=b;printf("%d",b);}
- 언어 : C
- 컴파� 환경 : gcc
- 풀� :
컴파ì�¼ëŸ¬ - gcc 컴파ì�¼ëŸ¬ëŠ” 사용ë�œ functionì�„ 확ì�¸í•˜ì—¬ 필요한 header fileì�„ ìž�ë�™ìœ¼ë¡œ include í•´ì¤�니다. ë˜�한 gcc 컴파ì�¼ëŸ¬ëŠ” 타입ì�´ ì„ ì–¸ë�˜ì§€ 않ì�€ 변수는 int형으로 처리합니다. ì�´ë¡œì�¸í•´ì„œ mainì�˜ 본래 형ì‹�ì�€ int main(int,char**)ì�´ì§€ë§Œ 변수형ì�„ ì„ ì–¸í•˜ì§€ 않으면 ë‘�번째 ì�¸ìž�ë�„ int형으로 처리ë�©ë‹ˆë‹¤.
ì•Œê³ ë¦¬ì¦˜ - ìœ í�´ë¦¬ë“œí˜¸ì œë²•ì�„ 사용합니다.
Coding Skill - a^=b^=a^=b;(a^=b;b^=a;a^=b;)는 추가 변수 ì—†ì�´ ë‘� 수ì�˜ ê°’ì�„ 바꾸는 방법입니다. 하지만 ë‘� 수가 ê°™ì�„ 시 ë‘� 수ì�˜ ê°’ì�´ 0ì�´ ë�˜ëŠ” 치명ì �ì�¸ 버그가 있습니다. 본 코드ì—�서는 while문ì—�서 a%=bë�¼ëŠ” ì¡°ê±´ì�„ 주어 ì�´ 버그를 ì°¨ë‹¨í•˜ê³ ìžˆìŠµë‹ˆë‹¤.