본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Bronze II)

백준 / 2052번 / 지수연산 / Python / 수학,임의 정밀도,큰 수 연산

728x90

📚문제

출처 : 백준 2052번(https://www.acmicpc.net/problem/2052)


📝풀이

# 2052번 지수연산(BronzeII)
n = int(input())
n = "%.250f" % (1/(2**n))
print(n.rstrip('0'))

그냥 (1/(2**n))을 출력하게되면

과학적 표기법으로 나오게된다 ( ex 6.71 x 10^3 형태 )

 

그래서 %로 형식을 지정하여 소수점 아래 250자리까지 출력할 수 있게

형식을 변경한다 (N의 최대 입력값인 250이 소수점 아래 250까지 숫자를 가짐)

 

그리고 나온 숫자의

의미 있는 숫자(0이 아닌 숫자)부터

마지막까지 나오는 모든0을 제거해주려면

어떻게 해야되지

뭔가 간단한 방법이 있었던 것 같은데...

하고 고민하다가 

💡 rstrip() 함수를 생각해내고 적용해주어서 정답

728x90