반응형
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
C언어
#include <stdio.h>
int main(void)
{
int n;
int num, count = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &num);
for (int j = 2; j <= num; j++)
{
if(num == j)
count++;
if (num % j == 0)
break;
}
}
printf("%d", count);
return 0;
}
파이썬
import sys
n = int(sys.stdin.readline())
num = list(map(int, input().split()))
count = 0
if n == len(num):
for i in range(n):
for j in range(2, num[i] + 1):
if num[i] == j:
count += 1
if num[i] % j == 0:
break
print(count)
조건에서 큰 수를 다루지 않으므로 무작정 구하는 방식을 사용했다.
반응형
'프로그래밍 > Baekjoon' 카테고리의 다른 글
(C언어, 파이썬) 백준 11720. 숫자의 합 (0) | 2020.08.21 |
---|---|
(C언어)백준 2960. 에라토스테네스의 체 (0) | 2020.08.19 |
(C언어)백준 10818. 최소, 최대 (0) | 2020.08.08 |
(파이썬)프로젝트 오일러(Project Euler)17.1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는? (0) | 2020.07.19 |
(파이썬)백준 10996.별 찍기 - 21 (0) | 2020.06.30 |