[백준/파이썬] 9310번 Arithmetic and Geometric Sums 풀이

업데이트:



문제 정보


풀이

문제

주어진 수열이 등차인지 등비인지 판단해 앞 n개 합을 구하는 문제입니다.

코드

while True:
    n=int(input())
    if n==0:break
    a,b,c=map(int,input().split())
    if b<<1==a+c:print(n*(2*a+(n-1)*(b-a))//2)
    else:
        r=b//a
        print(a*(r**n-1)//(r-1))

설명

2b == a+c면 등차수열 합 공식을 사용하고, 그 외에는 공비 r=b//a로 등비수열 합 공식을 적용합니다.



댓글남기기