STEP 6.1B¡¡¡Ê¸å¤í¤Î¿ô¤òÄ´¤Ù¤Æ¾ÃµîºîÀï¡Ë

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

<¼Â¹Ô·ë²Ì>¡¡
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;

/* ­¢b i¤«¤é¸å¤íN¤Þ¤Ç¤Î³Æ¿ô¤¬i¤Ç³ä¤êÀÚ¤ì¤ë¤« */
    for(i = 2 ; i <= N; i++)
        for(j = i+1;  j < N+1 ; j++)
            if(j%i == 0) 
                p[j] = 0;

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

    printf("\n"); // N¤Î¿ô¤¬Â礭¤¤¤È¤­¤Ï¡¢ifʸÆâ¤Ç²þ¹Ô¤·¤¿¤Û¤¦¤¬¤è¤¤
    return 0;
}