2023. 4. 1. 23:37ㆍ자료구조 및 알고리즘/백준
백준 1978번 소수 찾기 링크
https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
소수를 판별할 수에 루트를 씌운 값이 약수의 중간값보다 살짝 크다는 것을 이용
이러면 시간 복잡도가 루트 n이다.
https://myjamong.tistory.com/139
소수(Prime Number) 구하기 효율적 알고리즘 :: 코드자몽
소수(Prime Number) 소수는 자신보다 작은 두개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. ex) 5는 5*1 또는 1*5로 수를 곱합 결과를 적는 유일한 방법이 그 수 자신을 포함하기 때문에 5는
myjamong.tistory.com
그리고 소수 판별 조건에 1은 소수가 아님을 추가한다. 참고 자료는
https://myjamong.tistory.com/139
소수(Prime Number) 구하기 효율적 알고리즘 :: 코드자몽
소수(Prime Number) 소수는 자신보다 작은 두개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. ex) 5는 5*1 또는 1*5로 수를 곱합 결과를 적는 유일한 방법이 그 수 자신을 포함하기 때문에 5는
myjamong.tistory.com
C++에서는 boolean이 아닌 bool 자료형을 사용한다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pk3152&logNo=221561650139
C++ (10) 자료형 bool (boolean 자료형)
C언어에서는 없었지만 C++에서 생긴 자료형이 하나 있습니다. 바로 bool 이라는 자료형입니다. bool 자료...
blog.naver.com
그래서 내 풀이는
#include <iostream>
using namespace std;
bool isPrime(int num){
if(num==1) return false;
for(int i=2; i*i<=num; i++){
if(num%i==0) return false;
}
return true;
}
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
int cnt=0;
int n;
cin>>n;
for(int i=0; i<n; i++){
int num;
cin>>num;
if(isPrime(num))
cnt++;
}
cout<<cnt;
}
'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글
[백준 10817] 세 수 (0) | 2023.04.02 |
---|---|
[백준 1929] 소수 구하기 (0) | 2023.04.01 |
[백준 11050]이항 계수 1 (0) | 2023.04.01 |
[백준 1085] 직사각형 탈출 (0) | 2023.04.01 |
[백준 24444] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.03.31 |