[백준/파이썬] 15792번 A/B - 2 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 15792번 A/B - 2
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
- 자세한 문제 및 입출력 예제는 상단의 문제 출처(백준 홈페이지)를 참조해주세요
코드
A, B = map(int, input().split())
i = 0
result = (str(A//B)+".")
d = A%B
while i < 1000:
d *= 10
m = d//B
result += str(m)
d %= B
if d == 0:
break
i += 1
print(result)
설명
Big Integer의 연산에 관한 문제입니다.
일반적으로, 자료형이 너무 커지면 오버플로우가 일어나겠지만, 파이썬은 기본적으로 Big Integer를 지원합니다. 따라서, 그냥 int형으로 입력을 받을 수 있습니다.
다만, 역시 연산속도는 매우 느려지게됩니다.
기본적인 방법으로는 주어진 시간 내에 해결이 불가능함과 더불어, 단순히 연산해주면 정규화된 표현식으로 답이 나올 수 있기 때문에, 구간을 나누어 해결해줍니다.
소숫점 아래 계산은 몫 나눗셈으로 해결합니다.
댓글남기기