
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
소수의 정의 : 1과 자기 자신 외에는 나누어 떨어지는 수가 없는 수
0번재 주어진 수 N개를 입력 받을것
1번째 소수의 개수를 카운트
2번째 수를 입력받는다
3번째 0과 1은 소수가 아님
4번째 소수이면 카운트를 증가함
import java.util.*;
public class PrimeNumber {
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++) {
int num = sc.nextInt();
if(num < 2) continue;
boolean isPrime = true;
for(int j=0; j*j<=num; j++) {
if (num % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
count++;
}
}
System.out.println(count);
sc.close();
}
}
#include <stdio.h>
int isPrime(int number) {
int i;
for (i=2; i<number; i++) {
if (number % i == 0) return 0; // 나누어 떨어지면 소수 X
}
return 1; // 나눠도 떨어지지 x 소수 O
}
int main(void) {
int number = 13195, max_div=0, i;
for (i=2; i<number; i++)
if (isPrime(i) == 1 && number % i == 0)
max_div = i;
printf("%d", max_div);
return 0;
}
import java.util.*;
public class PrimeNumber {
static int isPrime(int number) {
if (number<2) return 0; // 0,1은 소수 아님
for(int i=2; i<number; i++) {
if(number % i == 0) return 0; // 나누어 떨어지면 소수 아님
}
return 1;
}
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++) {
int num = sc.nextInt();
if(isPrime(num) == 1) {
count++;
}
}
System.out.println(count);
sc.close();
}
}
ps. 조금만 더 열심히 해보자.!