[BOJ/백준] 2581번 소수 C++ 문제 풀이

2020. 11. 10. 01:23·Baekjoon/단계별로 풀어보기
728x90

단계별로 풀어보기 - 수학 2단계 - [2단계] 2581번

문제

문제 링크 : www.acmicpc.net/problem/2581

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net

입력 복사 : 

> 예제 입력 1

60 100

>예제 입력 2

64 65

 

풀이

소수를 판별하는 방식은 이전 단계인 1978번에서와 동일하당.

일단 소수일 때는 소수의 합을 저장하는 sum에 해당 변수를 더해준다.

 

또, 소수를 구할 때 M부터 작은 순서대로 소수 여부를 검사하기 때문에

min값이 저장된 값이 없음을 나타내는 초기값 -1인 경우에 처음으로 등장한 소수가 최소인 소수이다.

이 최소인 소수를 min에 저장하면 된다!

 

만약 주어진 M~N범위에서 소수가 나타나지 않을 경우 min값이 초기값 그대로 -1일 것이기때문에

최종 결과를 출력하기 전, min값을 -1인지 체크하고 결과를 출력한다.

 

CODE

#include <iostream>
using namespace std;

int main() {
	int M, N;
	int sum = 0, min = -1;
	int cnt = 0;
	cin >> M >> N;

	for (int i = M; i <= N; i++) {
		for (int div = 1; div <= i; div++) {
			if (i%div == 0)
				cnt++;
		}
		if (cnt == 2) {		//i가 소수일 때
			if (min == -1)		//저장된 소수의 최솟값이 없을 때
				min = i;
			sum += i;
		}
		cnt = 0;
	}
	if (min == -1)
		cout << -1 << '\n';
	else
		cout << sum << '\n' << min << '\n';
}

 

결과

728x90
저작자표시

'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글

[BOJ / 백준] 4948번 베르트랑 공준 C++ 문제 풀이  (0) 2020.11.10
[BOJ / 백준] 1929번 소수 구하기 C++ 문제 풀이  (2) 2020.11.10
[BOJ/백준] 1978번 소수 찾기 C++ 문제 풀이  (0) 2020.11.10
[BOJ/백준] 1011번 Fly me to the Alpha Centauri C++ 문제 풀이  (0) 2020.11.10
[BOJ/백준] 2775번 부녀회장이 될테야 C++ 문제 풀이  (0) 2020.11.07
'Baekjoon/단계별로 풀어보기' 카테고리의 다른 글
  • [BOJ / 백준] 4948번 베르트랑 공준 C++ 문제 풀이
  • [BOJ / 백준] 1929번 소수 구하기 C++ 문제 풀이
  • [BOJ/백준] 1978번 소수 찾기 C++ 문제 풀이
  • [BOJ/백준] 1011번 Fly me to the Alpha Centauri C++ 문제 풀이
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (326)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Web (54)
        • Web (7)
        • Spring (14)
        • MyBatis (1)
        • AWS (7)
        • HTML & CSS (14)
        • JavaScript (11)
      • Programming (37)
        • C++ (3)
        • Java (6)
        • Python (10)
        • MySQL (1)
        • Oracle (2)
        • Git (15)
        • Dev Tools (0)
      • Infra˙ DevOps (1)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    Programmers
    codeup
    CSS
    C
    git
    단계별로 풀어보기
    웹
    oracle
    HTML
    aws
    자료구조
    VS Code
    MySQL
    알고리즘
    clean code
    c++
    SourceTree
    spring
    github
    CodeUp 기초 100제
    Cloud
    JavaScript
    myBatis
    db
    java
    BOJ
    web
    Tistory
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[BOJ/백준] 2581번 소수 C++ 문제 풀이
상단으로

티스토리툴바