STEP 6.1C¡¡¡Ê³ÎÄꤷ¤¿ÁÇ¿ô¡¢¸å¤í¤ÎÇÜ¿ô¤ò0ºîÀï¡Ë

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

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

/* ­¢c ¼«Ê¬¤è¤ê¸å¤í¤Î¼«Ê¬¤ÎÇÜ¿ô¤òÁÀ¤Ã¤ÆÀѶËŪ¤Ë0¤Ë¤·¤Æ¤¤¤¯ */
    for(i = 2 ; i <= N; i++)
        if(p[i] == 1)
            for(j = 2;  i*j < N+1 ; j++)¡¡/* j=1¤Î¤È¤­¤ÏÁÇ¿ô¼«¿È */
                p[i*j] = 0;

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

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

    return 0;
}