PS/BOJ

[C] 백준 1929 : 소수 구하기

소-은 2022. 8. 29. 14:38
728x90

 

1. 문제

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

 

1929번: 소수 구하기

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

www.acmicpc.net

 

 

2. 문제해석

소수인지 아닌지를 판단하는 함수를 만들어야 한다.

int isPrime(int a) {
	if (a < 2) return -1; // 소수 아님
	for (int i = 2; i*i <= a; i++) {
		if (a % i == 0) {
			return -1; // 소수 아님
		}
	}
	return 0; // 소수
}

 

 

 

 

3. 정답

#include <stdio.h>

int isPrime(int a) {
	if (a < 2) return -1; // 소수 아님
	for (int i = 2; i*i <= a; i++) {
		if (a % i == 0) {
			return -1; // 소수 아님
		}
	}
	return 0; // 소수
}

int main() {
	int m, n;
	scanf_s("%d %d", &m, &n);

	while (m <= n) {
		if (isPrime(m) == 0) printf("%d\n", m);
		m++;
	}
}
728x90