¹è¿Àº Áß°£ ÀÛ¾÷ °á°ú¸¦ ÀúÀåÇϴµ¥µµ »ç¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â 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ÀÌ Ãâ·ÂµÇ¾î¾ß ÇÑ´Ù. °¢ ¹®ÀÚÀÇ ÃâÇö ȸ¼ö¸¦ ÀúÀåÇÒ ¹è¿ÀÌ ÇÊ¿äÇÏ´Ù.