문제 링크입니다: https://www.acmicpc.net/problem/17362
17362번: 수학은 체육과목 입니다 2
첫 번째 줄에 19번 문제 세 번째 줄에 등장하는 수 '1000'을 자연수 n으로 바꾸었을 때 그에 해당하는 답의 번호를 출력한다. 즉, 1 이상 5 이하의 자연수 중 하나를 출력해야 한다.
www.acmicpc.net
나름의 규칙을 찾고 접근한 문제입니다.

i) 우선 5 이하일 때는 주어진 숫자를 그대로 출력하면 됩니다.
ii) 5 이상부터는 규칙을 찾아야하는데 5이하가 될 때까지 주어진 숫자에서 8씩 뺀다면 주어진 숫자가 6, 7, 8인 경우를 제외하고는 바로 정답이 나오는 것을 확인할 수 있습니다.
iii) 주어진 숫자가 6, 7, 8인 경우 8을 빼면 각각 -2, -1, 0 이므로 정답을 출력할 때는 2 - (결과값) 을 해주면 정답입니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
int main(void) | |
{ | |
int n; | |
cin >> n; | |
if (n <= 5) | |
{ | |
cout << n << "\n"; | |
return 0; | |
} | |
while (n > 5) | |
{ | |
n -= 8; | |
} | |
int result = n; | |
if (result <= 0) | |
{ | |
result = 2 + (result * -1); | |
} | |
cout << result << "\n"; | |
return 0; | |
} |


개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 15355번 Programiranje (4) | 2020.03.23 |
---|---|
백준 3053번 택시 기하학 (0) | 2020.03.21 |
백준 4889번 안정적인 문자열 (0) | 2020.03.21 |
백준 11068번 회문인 수 (0) | 2020.03.14 |
백준 2525번 오븐 시계 (0) | 2020.03.13 |