STEP 6.1A¡¡¡ÊÁÇ¿ô¤ò½çÈ֤˳ÎÄꤷ¤Æ¤¤¤¯ºîÀï¡Ë

<ÌäÂê> £²¡Ý£µ£°¤Þ¤Ç¤ÎÁÇ¿ô¤òµá¤á¤è

<¼Â¹Ô·ë²Ì>¡¡
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

<¥Ò¥ó¥È>



²òÅúÎã

#include <stdio.h>
#define N 50 // ¥×¥í¥°¥é¥àÃæ¤ÎN¤È¤¤¤¦Ê¸»ú¤ò¡¢50¤Ë¤ª¤­¤«¤¨

int main (void) {
    int p[N+1];
    int i,j;

/* ­¡ p[2] - p[N]¤ò£±¤Ë½é´ü²½ */
    for(i = 2; i <= N; i++)
        p[i]=1;

/* ­¢ i¤Ï¡¢i¤è¤ê¾®¤µ¤¤ÁÇ¿ôj (j < i) ¤Ç³ä¤êÀÚ¤ì¤Ê¤¤¤« */
    for(i = 2 ; i <= N; i++)
        for(j = 2 ; j < i; j++)
            if(p[j] == 1 && i%j == 0) 
                p[i] = 0;

/* ­£ Ãͤ¬1¤Î¤â¤Î¤Ï¡¢ÁÇ¿ô */
    for(i = 2; i <= N; i++)
        if(p[i]==1) 
            printf("%3d", i);

    printf("\n");
    return 0;

}