#include <stdio.h>

int main(void)
{
    int n, i, j, k;
    int res = 0; 
    
    /*res를 바로 위에 줄에 같이 넣어버리지말고 0으로 초기화 해야 쓰레기값 안 생김.
    nijk는 똑같이 쓰레기 값이 들어있더라도 코드 내려가면서 다 값이 재설정 
    되지만 코드를 보면 res는 재설정이 아니라 원래 들어있던 값에 바로 +1하는 식
    이므로 쓰레기 값에 1을 더하게 되니까 재설정 따로 해줘야 함!*/
    
    scanf("%d",&n);
    
    for (i = 2; i <= n; i++) // i = 1에서 2로 변경! 2부터 출력해야하니..
     {
         int isprime = 1;
         
         for (j = 2; j <= i - 1; j++)
             {
                 if(i % j ==0)
                     isprime = 0;
             }
         
                 if(isprime == 1)
                 {
                     res += 1;
                     
                     printf("%d", i);
                     
                     for (k = 0; k < 5; k++)
                         {
                             printf(" ");
                         }
                 }
         
         if (isprime == 1 && res % 5 == 0) 
              printf("\n"); /* 원래 내가 i문 안, if isprime문 밖에 줄바꿈 코드 배치 함. 
         근데 이렇게 하면 i가 소수가 아닐 때도 if문 조건만 만족하면 줄바꿈 해버림. 소수일 때만 
             하도록 조건 추가해주자.근데 그냥 && 이거 지우고 if isprime문 안에
         마지막 줄에 줄바꿈 코드 넣어주는 게 더 효율적.*/
         
     }

    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: