반응형
DoZZang
Do IT
DoZZang
전체 방문자
오늘
어제
  • Programming
    • Git
    • Web
    • 기타
    • Python
      • CodeUp
    • Math
    • Algorithm
    • Baekjoon
    • C,C++
    • Life
      • 독서
      • Just
      • 영화

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DoZZang

Do IT

[C] 백준 1978번 : 소수 찾기
Baekjoon

[C] 백준 1978번 : 소수 찾기

2023. 1. 26. 16:59
반응형

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
bool isPrimeNumber(int x);			//소수 판별 함수 선언
int main() {
	int N, count = 0;
	int t[100] = { 0 };
	scanf("%d", &N);
	for (int i = 0; i < N; i++) {
		scanf("%d",&t[i]);
		count += isPrimeNumber(t[i]);
	}
	printf("%d", count);
}
bool isPrimeNumber(int x) {
	int length;
	length = sqrt(x);
	if (length == sqrt(x)) return false;		//1을 배제하자
	for (int i = 2; i <= length; i++) {
		if (x % i == 0) return false;
	}
	return true;
}

에라토스테네스의 체를 이용하여 문제를 풀었습니다.

N개의 수가 입력받게 되는 즉시 소수를 판별하는 함수를 거쳐 true 혹은 false 즉 bool타입으로 return됩니다.

true는 1로 해석되기 때문에 만약 소수라면 count 변수가 1씩 증가하게 될 것입니다.

 

이 때,1은 예외로 판별과정을 위해 반복문을 거칠 필요 없이 false로 return되게 하였습니다.

 

에라토스테네스의 체는

어떠한 숫자가 주어졌을 때 그 숫자의 제곱근 이하의 범위까지만 약수가 존재하는지 판별하면

그 숫자가 소수인지 아닌지 알 수 있게 해줍니다.

 

자세한 이유는 아래 링크에 기술하였습니다.

https://developer-dz.tistory.com/5

 

[C] 소수 구하기 / 에라토스테네스의 체 / 소수 구하기 최적화 / 1000개의 소수 구하기 / 범위 내의

먼저 코드입니다. 선 코드 후 이해하도록 하겠습니다. 100이하의 소수찾기 (에라토스테네스의 체) #include int main(int argc,char *argv[]) { int number = 100; // 100이하의 소수 찾기 int arr[101] = {0}; // 2부터 100

developer-dz.tistory.com

 

반응형
저작자표시 (새창열림)

'Baekjoon' 카테고리의 다른 글

[C] 백준 11653번 : 소인수분해  (0) 2023.01.27
[C] 백준 2581번 : 소수  (0) 2023.01.26
[C] 백준 2839번 : 설탕 배달  (0) 2023.01.25
[C]백준 1316번 : 그룹 단어 체커  (0) 2023.01.25
[C] 백준 2775번 : 부녀회장이 될테야  (0) 2023.01.20
    'Baekjoon' 카테고리의 다른 글
    • [C] 백준 11653번 : 소인수분해
    • [C] 백준 2581번 : 소수
    • [C] 백준 2839번 : 설탕 배달
    • [C]백준 1316번 : 그룹 단어 체커
    DoZZang
    DoZZang
    과정은 힘들지만 성장은 즐겁습니다.

    티스토리툴바