더 많이 실패하기

백준 1978번 소수 찾기 / 백준 단계별로 풀어보기 8단계 / 8. 기본 수학 2 본문

알고리즘/백준

백준 1978번 소수 찾기 / 백준 단계별로 풀어보기 8단계 / 8. 기본 수학 2

김발자~ 2022. 9. 15. 23:34
반응형

백준 8단계 1번 문제 - 1978 소수 찾기

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

 

1978번: 소수 찾기

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

www.acmicpc.net

 

 

 


8. 기본 수학 2 (1) 백준 1978번 소수 찾기


문제


 

 

 

 


과정 생각해보기


 

1과 본인을 제외한 약수가 없어야 소수

 

1부터 본인까지 반복되는 반복문에서

본인 % i != 0이면, 즉 계속 나머지가 있으면 소수라는 뜻이므로 이럴 때마다 개수를 하나 추가한다

 

 

 


오답


 

위의 과정으로 짜본 코드는 다음과 같다

저렇게 짜면 0이 나오지 않을 때마다 숫자를 세므로 훨씬 큰 값을 출력하게 된다

(답이 틀리면 저렇게 과정 중을 출력하여 볼 수 있도록 하면 좋다)

 

 

 


정답 인정 코드


 

https://st-lab.tistory.com/80

이 블로그를 참고했다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int count = 0;
        
        for(int i = 0; i < n; i++) {
            boolean isPrime = true//소수면 true 아니면 false
        
            int num = sc.nextInt();
            
            if(num == 1) {
                continue;
            }
            
            for(int j = 2; j <= Math.sqrt(num); j++) {
                if(num % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if(isPrime) {
                count++;
            }
        }    System.out.println(count);
    }
}
cs

 

소수를 구하는 세 가지 방법이 있다는 걸 배웠다

 

 

 


직후 백지 복습


 

다르게 쓴 것 없이 그대로 했다

 

 

 


 

반응형
Comments