Day9_[BOJ 1978] 소수 찾기 / C

장존훈·2022년 11월 5일

100-Day Algorithm Challenge

목록 보기
14/19
post-thumbnail

Prologue

소수란? 1과 자기 자신만을 약수로 가지는 수를 말 합니다. 소수의 반대는 무엇일까요?

정답은 합성수

가아니라 수소입니다.

친환경 수소차

그런 의미에서, 오늘은 소수 찾기를 해보겠습니다.

Problem

Problem Solving Methods

#include <stdio.h>

int main() {
  int a[10001] = {0,};
  int getnum, count = 0;
  scanf("%d", &getnum);
  for (int i = 0; i < getnum; i++) {
    scanf("%d", &a[i]);
  }
  for (int j = 0; j < getnum; j++) {
    if(a[j] != 2 && a[j]%2 == 0) {
      count++;
    } else if (a[j] != 3 && a[j]%3 == 0) {
      count++;
    } else if (a[j] != 5 && a[j]%5 == 0) {
      count++;
    } else if (a[j] != 7 && a[j]%7 == 0) {
      count++;
    } else if (a[j] == 1) {
      count++;
    } else if (a[j] != 11 && a[j]%11 == 0) {
      count++;
    } else if (a[j] != 13 && a[j]%13 == 0) {
      count++;
    } else if (a[j] != 17 && a[j]%17 == 0) {
      count++;
    } else if (a[j] != 19 && a[j]%19 == 0) {
      count++;
    } else if (a[j] != 23 && a[j]%23 == 0) {
      count++;
    } else if (a[j] != 29 && a[j]%29 == 0) {
      count++;
    } else if (a[j] != 31 && a[j]%31 == 0) {
      count++;
    }
  }
  printf("%d\n", getnum-count);
}

분명 더 좋은 방법이 있었을겁니다.

Retrospect

오늘은 소수 찾기를 해보았습니다.

다음에 더 재미있는 코드로 찾아오겠습니다.

감사합니다.

0개의 댓글