Á¦1Àå ¾Ë°í¸®ÁòÀÇ ¼Ò°³
Á¦1Àå ¾Ë°í¸®ÁòÀÇ ¼Ò°³ 1.1 ¾Ë°í¸®ÁòÀÇ Á¤ÀÇ¿Í Ç¥Çö
1. ¾Ë°í¸®ÁòÀÇ Á¤ÀÇ¿Í Ç¥Çö
■ ¾Ë°í¸®ÁòÀ̶õ?
´ÙÀ½ÀÇ Á¶°ÇÀ» ¸¸Á·Çϴ ƯÁ¤ÇÑ ÀÏÀ» ¼öÇàÇÏ´Â À¯ÇÑ°³·Î ±¸¼ºµÈ ¸í·É¾îµéÀÇ ¸®½ºÆ® ‣ ÀÔ·Â : 0°³ ÀÌ»óÀÇ ¿ÜºÎ ÀÚ·á ÀÔ·Â
‣ Ãâ·Â : 1°³ ÀÌ»óÀÇ ÀÚ·á Ãâ·Â
‣ ¸íÈ®¼º(definiteness) : °¢ ¸í·É¾î´Â ºÐ¸íÇÏ°í ¸ðÈ£ÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù.
‣ À¯ÇѼº(finiteness) : ÀÏÁ¤ÇÑ ¸í·ÉÀÇ ¼öÇàÈÄ¿¡´Â Á¾·áÇØ¾ß ÇÑ´Ù.
‣ À¯È¿¼º(effectiveness) : °¢ ¸í·É¾î´Â ±âº»ÀûÀÌ°í ½ÇÇà°¡´ÉÇØ¾ß ÇÑ´Ù.
■ ¾Ë°í¸®ÁòÀÇ ¿¹
• À¯Å¬¸®µå È£Á¦¹ý (Euclidean algorithm)
int gcd(int u, int v)
{
while (u > 0) {
if (u < v) SWAP(u, v);
u = u - v;
}
return v;
}
• ´ÙÀ½ÀÇ ÇÁ·Î±×·¥Àº ¾Ë°í¸®ÁòÀΰ¡?
[3N + 1 ¹®Á¦]
read N
while (N != 1) {
if (N is even)
N = N / 2;
else
N = 3*N + 1;
}
|