1
2
3
4
5
6
7
8
|
n=int(input())
s= "%.250f"% (2**(-n))
last=len(s)
for i in range(last-1, 1, -1):
if s[i]!='0':
last=i
break
print(s[:last+1])
|
cs |
음.. 이 문제는 엄청 쉽다고 생각했는데 자꾸 틀려서 문제가 뭘까 고민해보니
과학적 표기법과 관련돼있습니다.
소숫점 자리가 엄청 길어지면
python에서는 과학적 표기법 (Scientific notification)을 하게 돼서 문제의 출력 만큼 자리수를 다 출력하지 않습니다.
그 부분을 해결해 구현했습니다.
반응형
댓글