※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 2576번 문제인 홀수이다.
문제는 아래 링크를 확인하자.
2576번: 홀수
7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지
www.acmicpc.net
이 문제에서는 100 미만의 자연수 7개가 입력으로 주어진다.
이 가운데 홀수가 없다면, 즉 2로 나눈 나머지가 1인 수가 없다면 -1을 출력하자.
그렇지 않다면(홀수가 있다면) 모든 홀수의 총합과 가장 작은 홀수를 구해 각 줄에 출력하자.
아래는 제출한 소스코드이다.
#include <iostream>
using std::cin;
using std::cout;
int main() {
int x;
int summation = 0, minimum = 100; // 들어오는 홀수는 모두 100보다 작을 것이므로
for (int i = 0;i < 7;i++) { // 숫자를 7번 읽는다
cin >> x;
if (x % 2 == 1) { // 홀수인지 확인: 2로 나눈 나머지가 1인지 확인
summation += x; //summation: 홀수의 총합
if (minimum > x) { // 지금까지 나온 가장 작은 숫자를 minimum에 저장
minimum = x;
}
}
}
if (summation == 0) { // 홀수가 하나도 없었다면 모든 홀수의 합이 0이다
cout << -1;
}
else { // 홀수가 하나라도 있었다면 모든 홀수의 합은 0이 아니다.
cout << summation << '\n' << minimum;
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 1977 // C++] 완전제곱수 (0) | 2021.01.03 |
---|---|
[BOJ 1475 // C++] 방 번호 (0) | 2021.01.02 |
[BOJ 10988 // C++] 팰린드롬인지 확인하기 (0) | 2021.01.01 |
[BOJ 10808 // C++] 알파벳 개수 (0) | 2020.12.31 |
[BOJ 14470 // C++] 전자레인지 (0) | 2020.12.29 |