본문 바로가기

Dev. Etc/Algorithm

[JAVA] 백준 알고리즘 1978번 문제풀이 (소수 찾기)

 

 

 

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

 

1978번: 소수 찾기

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

www.acmicpc.net

 

 

 

● 소수 찾기 문제 (1978번)

Q. 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

 

 

 

 

 

 

 

import java.util.*;

//1978번
public class Main {
	public static boolean check(int x) {
		if(x<=1) {
			return false;
		}else if(x==2) {
			return true;
		}
		for(int i=2; i*i<=x; i++) {
			if(x%i==0) {
				return false;
			}
		}
		return true;
	}
	
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int ans = 0;
        
        while(n-->0) {
        	if(check(sc.nextInt())){
        		ans+=1;
        	}
        }
        System.out.println(ans);
    }
    
}

↓ 소스풀이 ↓

소수 입력을 위해 n변수에 사용자의 수를 입력받아줍니다.

그리고 소수의 갯수를 세주기위해 ans변수를 선언해줍니다.

while반복문을 사용해서 0까지 반복해주고 재귀함수호출로 check()메소드에서 소수를 확인해서 소수라면 ans변수를 증가해서

소수 갯수를 세어줍니다.

마지막에 소수 갯수를 출력해줍니다.

 

< 백준알고리즘 강의를 보고 참고하였습니다! >