편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2021.04.30

    c언어 소스코드 질문합니다.


    제가 작성하고 싶은 조건은 아래 3가지 입니다.

    • 첫 번째 줄에 모든 소수를 차례대로 출력
    • 두 번째 줄에 소수의 개수를 출력
    • 세번째 줄에 소수의 최대, 최소 값과 두 수의 합을 출력

    첫번째 줄은 코드를 작성하였습니다.
    두번째는 res를 이용하였습니다. 그런데 여기서 res++; 코드를 어디에 붙여야 하나요?
    위치 알려주세요. 그리고 3번째 조건은 어떻게 코드를 짜야하나요?

    <작성한 코드>

    #include <stdio.h>
    #include <math.h>
    
    #define size 1000001
    
    int num[size] = { 0, };
    
    int main() {
        int M, N, i, j, res = 0;
        int tmp = 0;
    
        for (i = 2; i < size; i++)
            num[i] = i;
    
        scanf_s("%d %d", &M, &N);
        tmp = (int)sqrt(N);
    
        for (i = 2; i <= tmp; i++) {
            if (num[i] == 0) 
                continue;
            else {
                for (j = i + 1; j <= N; j++) {
                    if (num[j] == 0)
                        continue;
    
                    if (num[j] % i == 0)
                        num[j] = 0; 
                }
            }
        }
        for (i = M; i <= N; i++) {
            if (num[i] != 0) 
                printf("%d", i); 
        }
    
        printf("\n%d", res);
    
    
        return 0;
    }
    
    1. res++ 추가하기
    2. 3번째 조건 달성하기
  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.04.30

    c언어 소스코드 질문합니다.


    제가 작성하고 싶은 조건은 아래 3가지 입니다.

    첫 번째 줄에 모든 소수를 차례대로 출력 두 번째 줄에 소수의 개수를 출력 세번째 줄에 소수의 최대, 최소 값과 두 수의 합을 출력

    첫번째 줄은 코드를 작성하였습니다. 두번째는 res를 이용하였습니다. 그런데 여기서 res++; 코드를 어디에 붙여야 하나요? 위치 알려주세요. 그리고 3번째 조건은 어떻게 코드를 짜야하나요?

    <작성한 코드>

    include

    include

    define size 1000001

    int num[size] = { 0, };

    int main() { int M, N, i, j, res = 0; int tmp = 0;

    for (i = 2; i < size; i++)
        num[i] = i;
    
    scanf_s("%d %d", &M, &N);
    tmp = (int)sqrt(N);
    
    for (i = 2; i <= tmp; i++) {
        if (num[i] == 0) 
            continue;
        else {
            for (j = i + 1; j <= N; j++) {
                if (num[j] == 0)
                    continue;
    
                if (num[j] % i == 0)
                    num[j] = 0; 
            }
        }
    }
    for (i = M; i <= N; i++) {
        if (num[i] != 0) 
            printf("%d", i); 
    }
    
    printf("\n%d", res);
    
    
    return 0;
    

    }

    1. res++ 추가하기
    2. 3번째 조건 달성하기