반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 4880번 다음수 파이썬(Python)
1) 문제번호 : 4880번
2) 문제 출처
https://www.acmicpc.net/problem/4880
2. 문제
등차수열(AP)은 인접한 두 수의 차이(공차)가 일정한 수열이다. 예를 들어, 3, 5, 7, 9, 11, 13, ...은 차이가 2로 일정한 등차수열이다. 이 문제에서 등차수열의 공차는 항상 0이 아닌 정수이다.
등비수열(GP)는 각 항이 그 앞과 일정한 비(공비)를 가지는 수열이다. 예를 들어, 2, 6, 18, 54, ...은 공비가 3인 등비수열이다. 이 문제에서 등비수열의 공비는 항상 0이 아닌 정수이다.
어떤 수열의 연속한 세개의 숫자가 주어졌을 때, 이 수열이 등차수열인지 등비수열인지를 알아낸 뒤, 다음 항을 구하는 프로그램을 작성하시오.
3. 제약사항
4. 입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 수열의 연속하는 세 정수 a1, a2, a3이 한 줄에 주어진다. (-10,000 < a1, a2, a3 < 10,000) a1, a2, a3은 서로 같지 않다.
입력의 마지막 줄에는 0이 세 개 주어진다.
5. 출력
각 테스트 케이스에 대해서, 등차수열이면 AP를, 등비수열이면 GP를 출력한 뒤, 다음 항을 출력한다. 모든 입력은 항상 등차수열이나 등비수열이다.
6. 풀이
- 간단한 출력 문제다.
- b에서 a를 뺀 값이나 나눈 몫, c에서 b를 뺀 값이랑 나눈 몫을 비교하여 등차수열과 등비수열을 비교하여 출력한다.
7. 소스 코드
import sys
input=sys.stdin.readline
while True :
a, b, c = map(int, input().split())
# 0 0 0 입력 받으면 종료
if a==0 and b==0 and c==0 :
break
# 등차수열일 경우
if b-a == c-b :
print("AP",c + (b-a))
continue
# 등비수열일 경우
if b//a == c//b :
print("GP",c * (b//a))
continue
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 5565번 영수증 파이썬(Python) (0) | 2021.12.28 |
---|---|
[백준 알고리즘] 백준 2991번 사나운 개 파이썬(Python) (0) | 2021.12.28 |
[백준 알고리즘] 백준 2965번 캥거루 세마리 파이썬(Python) (0) | 2021.12.28 |
[백준 알고리즘] 백준 5361번 전투 드로이드 가격 파이썬(Python) (0) | 2021.12.28 |
[백준 알고리즘] 백준 2935번 소음 파이썬(Python) (0) | 2021.12.25 |
[백준 알고리즘] 백준 23795번 사장님 도박은 재미로 하셔야 합니다 파이썬(Python) (0) | 2021.12.21 |
[백준 알고리즘] 백준 4504번 배수 찾기 파이썬(Python) (0) | 2021.12.20 |
[백준 알고리즘] 백준 4101번 크냐? 파이썬(Python) (0) | 2021.12.20 |
최근댓글