본문 바로가기
python-algorithm

[백준] 2052

by 무적김두칠 2021. 2. 23.

1
2
3
4
5
6
7
8
n=int(input())
s= "%.250f"% (2**(-n))
last=len(s)
for i in range(last-11-1):
    if s[i]!='0':
        last=i
        break
print(s[:last+1])
cs

음.. 이 문제는 엄청 쉽다고 생각했는데 자꾸 틀려서 문제가 뭘까 고민해보니
과학적 표기법과 관련돼있습니다.
소숫점 자리가 엄청 길어지면
python에서는 과학적 표기법 (Scientific notification)을 하게 돼서 문제의 출력 만큼 자리수를 다 출력하지 않습니다.
그 부분을 해결해 구현했습니다.

반응형

'python-algorithm' 카테고리의 다른 글

[백준] 2163  (0) 2021.02.23
[백준] 2161  (0) 2021.02.23
[백준] 1718  (0) 2021.02.23
[백준] 1676  (0) 2021.02.23
[백준] 1673  (0) 2021.02.23

댓글