https://www.acmicpc.net/problem/4880
4880번: 다음수
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 수열의 연속하는 세 정수 a1, a2, a3이 한 줄에 주어진다. (-10,000 < a1, a2, a3 < 10,000) a1, a2, a3은 서로 같지 않다. 입력의 마지막
www.acmicpc.net
c++로 백준 4880번 문제를 풀어보겠다.
문제
등차수열(AP)은 인접한 두 수의 차이(공차)가 일정한 수열이다. 예를 들어, 3, 5, 7, 9, 11, 13, ...은 차이가 2로 일정한 등차수열이다. 이 문제에서 등차수열의 공차는 항상 0이 아닌 정수이다.
등비수열(GP)는 각 항이 그 앞과 일정한 비(공비)를 가지는 수열이다. 예를 들어, 2, 6, 18, 54, ...은 공비가 3인 등비수열이다. 이 문제에서 등비수열의 공비는 항상 0이 아닌 정수이다.
어떤 수열의 연속한 세개의 숫자가 주어졌을 때, 이 수열이 등차수열인지 등비수열인지를 알아낸 뒤, 다음 항을 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 수열의 연속하는 세 정수 a1, a2, a3이 한 줄에 주어진다. (-10,000 < a1, a2, a3 < 10,000) a1, a2, a3은 서로 같지 않다.
입력의 마지막 줄에는 0이 세 개 주어진다.
출력
각 테스트 케이스에 대해서, 등차수열이면 AP를, 등비수열이면 GP를 출력한 뒤, 다음 항을 출력한다. 모든 입력은 항상 등차수열이나 등비수열이다.
예제 입력 1 복사
4 7 10
2 6 18
0 0 0
예제 출력 1 복사
AP 13
GP 54
<문제 풀이>
1. while문을 반복하며 주어진 문제를 해결한다.
- while 반복문 코드 내용 -
a1, a2, a3를 입력받는다.
입력받은 a1, a2, a3이 모두 0이라면 반복문을 종료한다.
등차수열이면 "AP"와 다음 수를 출력하고, 등비수열이면 "GP"와 다음 수를 출력한다.
코드는 다음과 같다.
'C++' 카테고리의 다른 글
[백준 알고리즘] 2752번 : 세수정렬, c++ (0) | 2022.03.26 |
---|---|
[백준 알고리즘] 3181번 : 줄임말 만들기, c++ (0) | 2022.03.26 |
[백준 알고리즘] 2501번 : 약수 구하기, c++ (0) | 2022.03.25 |
[백준 알고리즘] 5724번 : 파인만, c++ (0) | 2022.03.24 |
[백준 알고리즘] 2386번 : 도비의 영어 공부, c++ (1) | 2022.03.23 |