9-3-´Ù.ÀÛ¾÷ °á°ú ÀúÀå

¹è¿­Àº Áß°£ ÀÛ¾÷ °á°ú¸¦ ÀúÀåÇϴµ¥µµ »ç¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â 1~100±îÁöÀÇ ¹üÀ§¿¡ ÀÖ´Â ¸ðµç ¼Ò¼ö¸¦ ã´Â °¡Àå °£´ÜÇÑ ¾Ë°í¸®ÁòÀÎ ¿¡¶óÅ佺Å׳׽ºÀÇ Ã¼¸¦ ¹è¿­·Î ±¸ÇöÇÑ °ÍÀÌ´Ù.

 

¿¹ Á¦ : Eratosthenes

#include <Turboc.h>

 

#define RANGE 100

 

void main()

{

     BOOL Prime[RANGE+1];

     int i,j;

 

     // ÀÏ´Ü ÀüºÎ ¼Ò¼ö·Î °¡Á¤ÇÑ´Ù.

     for (i=0;i<=RANGE;i++) Prime[i]=TRUE;

 

     // 2ºÎÅÍ ¹è¼ö¸¦ ã¾Æ Áö¿î´Ù.

     for (i=2;i<=RANGE;i++) {

          if (Prime[i]) {

              for (j=i*2;j<=RANGE;j+=i) {

                   Prime[j]=FALSE;

              }

          }

     }

 

     // ³²Àº ¼Ò¼ö Ãâ·Â

     puts("1~100±îÁöÀÇ ¼Ò¼ö ¸ñ·Ï");

     for (i=2;i<=RANGE;i++) {

          if (Prime[i]) {

              printf("%d  ",i);

          }

     }

}

 

½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

1~100±îÁöÀÇ ¼Ò¼ö ¸ñ·Ï

2  3  5  7  11  13  17  19  23  29  31  37  41  43  47  53  59  61  67  71  73

79  83  89  97

 

¼Ò¼ö(Prime Number)´Â 1°ú ±× ÀڽŸ¸À» ¾à¼ö·Î °¡Áö´Â ¼öÀÌ´Ù. µû¶ó¼­ 2ÀÌ»óÀÇ ¼ö·Î ³ª´©¾î ¶³¾îÁö¸é ±× ¼ö´Â ¼Ò¼ö°¡ ¾Æ´Ï´Ù. BOOLŸÀÔÀÇ Prime ¹è¿­À» Å©±â RANGE+1·Î ¼±¾ðÇÏ¿© RANGE±îÁöÀÇ ¼ö¿¡ ´ëÀÀ½ÃÅ°´Âµ¥ 0°ú 1Àº ´ë»ó¿¡¼­ Á¦¿ÜµÈ´Ù. RANGE ¸ÅÅ©·Î »ó¼ö´Â 100À¸·Î Á¤ÀÇÇߴµ¥ ÀÌ °ªÀ» ´õ Å©°Ô ¹Ù²Ù¸é ´õ ³ÐÀº ¹üÀ§¿¡¼­ ¼Ò¼ö¸¦ ãÀ» ¼öµµ ÀÖ´Ù. Prime ¹è¿­ÀÇ ¸ðµç ¿ä¼Ò¸¦ ÀÏ´Ü TRUE·Î ÃʱâÈ­ÇÏ¿© ¸ðµç ¼ö¸¦ ¼Ò¼ö¶ó°í °¡Á¤ÇÑ´Ù.

±×¸®°í i¸¦ 2ºÎÅÍ 100±îÁö ·çÇÁ¸¦ µ¹¸é¼­ Prime ¹è¿­¿¡¼­ iÀÇ ¹è¼ö¸¦ ã¾Æ Áö¿î´Ù. Áï ¼Ò¼ö°¡ ¾Æ´Ñ ¼ö¸¦ °É·¯³»´Â °ÍÀÌ´Ù. ¹è¼ö¸¦ ã¾Æ Áö¿ì´Â j·çÇÁ´Â iÀÇ µÎ ¹è µÇ´Â ¼öºÎÅÍ ½ÃÀÛÇϴµ¥ iÀÚü´Â ÀÚ±â ÀÚ½ÅÀ¸·Î¸¸ ³ª´©¾îÁø´Ù°í º¼ ¼ö ÀÖÀ¸¹Ç·Î ÀÏ´ÜÀº ¼Ò¼ö·Î ºÁ¾ß ÇÑ´Ù. j´Â i*2ºÎÅÍ ½ÃÀÛÇؼ­ i¾¿ Áõ°¡Çϸ鼭 100±îÁö Prime[j]¸¦ FALSE·Î ¹Ù²Û´Ù. i°¡ 2ÀÏ ¶§ 4, 6, 8, 10 µîÀº ¼Ò¼ö Èĺ¸¿¡¼­ Á¦¿ÜµÉ °ÍÀÌ¸ç ´ÙÀ½ ·çÇÁ¿¡¼­ i°¡ 3ÀÏ ¶§ 6, 9, 12, 15 µîµµ Â÷·Ê´ë·Î Á¦¿ÜµÈ´Ù.

´Ü, ÀÌ¹Ì i ÀÚ½ÅÀÌ ¼Ò¼ö°¡ ¾Æ´Ñ °ÍÀ¸·Î ÆǸíÀÌ ³µÀ» ¶§´Â ´õ ÀÌ»ó Áö¿ï È帰¡ ¾øÀ¸¹Ç·Î j ·çÇÁ¸¦ µ¹ ÇÊ¿ä°¡ ¾ø´Ù. i°¡ Àڱ⺸´Ù ÀÛÀº ¼ö·Î ³ª´©¾î ¶³¾îÁ³´Ù¸é iÀÇ ¹è¼öµµ ¸ðµÎ ¸¶Âù°¡ÁöÀ̱⠶§¹®ÀÌ´Ù. °¡·É i°¡ 4ÀÏ ¶§ ÀÌ ¼ýÀÚ´Â ÀÌ¹Ì ¾Õ¿¡¼­ 2ÀÇ ¹è¼ö·Î ÆÇ¸í³ª¼­ Áö¿öÁø »óÅÂÀ̹ǷΠ4ÀÇ ¹è¼öÀÎ 8, 12, 16 µîµµ ¸ðµÎ Áö¿öÁ³À» °ÍÀÌ´Ù. ±×·¡¼­ j ·çÇÁ¿¡ µé¾î°¡±â Àü¿¡ Prime[i]°¡ TRUE ÀÎÁö¸¦ ¸ÕÀú Á¡°ËÇÑ´Ù.

ÀÌ·± ½ÄÀ¸·Î ¼Ò¼ö È常¦ Çϳª¾¿ Áö¿ö ³ª°¡¸é °á±¹ Prime ¹è¿­¿¡´Â ¼Ò¼öÀÎ ¼ö¸¸ ³²°Ô µÉ °ÍÀÌ´Ù. ´Ù½Ã 2ºÎÅÍ ·çÇÁ¸¦ µ¹¸é¼­ Prime[i]°¡ TRUEÀΠ÷ÀÚ¸¸ Ãâ·ÂÇÏ¸é µÈ´Ù. ÀÌó·³ Áß°£ ÀÛ¾÷ °á°ú¸¦ ÀúÀåÇÒ ¶§µµ ¹è¿­À» »ç¿ëÇÑ´Ù. ÄÄÇ»ÅÍ´Â ¹æ±Ý ÇÑ ¿¬»êµµ º°µµ·Î ÀúÀåÇÏÁö ¾ÊÀ¸¸é ±Ý¹æ ÀØ¾î ¹ö¸®±â ¶§¹®¿¡ ¹è¿­¿¡ ±â·ÏÀ» °è¼Ó À¯ÁöÇØ¾ß ÇÑ´Ù.

 

 AlphaNum

¿µ¹® ¼Ò¹®ÀÚ·Î ±¸¼ºµÈ ±ä ¹®ÀåÀ» ÀÔ·Â¹Þ¾Æ ÀÌ ¹®ÀÚ¿­ ³»ÀÇ °¢ ¾ËÆĺª ¹®ÀÚ °³¼ö¸¦ ±¸ÇØ Ãâ·ÂÇ϶ó. ¿¹¸¦ µé¾î alpha°¡ ÀԷµǾú´Ù¸é a:2, b:0, .... h:1, ... l:1, .... p:1ÀÌ Ãâ·ÂµÇ¾î¾ß ÇÑ´Ù. °¢ ¹®ÀÚÀÇ ÃâÇö ȸ¼ö¸¦ ÀúÀåÇÒ ¹è¿­ÀÌ ÇÊ¿äÇÏ´Ù.