[백준] python 기초알고리즘 8.기본수학 1

BOJ 1712 - 손익분기점

import math
a,b,c = map(int, input().split())
result = 0
if c<=b:
    result = -1
else:
    n = a/(c-b)
    if float(int(n)) == n:
        result = int(n) + 1
    else:
        result = int(math.ceil(n))
    
print(result)

BOJ 2292 - 벌집

n = int(input())
answer = 0
if n!=1:
    x = int((n-2)/6) +1 #1,2~3,4~6,7~10 일때 각각 1,2,3,4번째에 위치
    for i in range(1,20000):
        if x > i*(i-1)/2 and x <= i*(i+1)/2:
            answer = i+1
            break
else:
    answer = 1

print(answer)

BOJ 1193 - 분수찾기

x = int(input())
n = 0
answer = 0
for i in range(1,20000):
    if x > i*(i-1)/2 and x <= i*(i+1)/2 :
        n = i
        
last = n*(n+1)/2 #해당라인에서 가장 큰 값
a = int(last-x+1)
b = int(n-(last-x))
if n%2==1:
    answer = str(a)+'/'+str(b)
else:
    answer = str(b)+'/'+str(a)
    
print(answer)

태그:

카테고리:

댓글남기기