백준 / 1312번 / 소수 / Python / 수학
2024. 1. 29. 12:10
📚문제 📝풀이 # 1312번 소수(SilverV) a,b,n = map(int,input().split()) cnt = 0 for _ in range(n): a = (a%b)*10 cnt = a//b print(cnt) 처음에 그냥 머릿속에 바로 떠오른 풀이 (소수점을 기준으로 split한 후 소수점 이하 몇번째자리(n번째)인지 구하기) 로 풀었는데 틀렸다 ㅎ 역시 정답률이 낮은데는 이유가 있다 이렇게 풀면 샘플 예시에서는 소수점 몇번째자리까지 딱 나누어 떨어지기 때문에 답이 잘 나온다 하지만 2진수로 표현되지 않는 소수가 들어온다면 (소수의 끝자리가 5가아니면 전부 순환소수가 된다고 생각하면된다) 실제값과 근사값의 오차가 생긴다 컴퓨터 메모리의 한계가 있어서 무한히 반복되는 값중 근사치를 가져오게 되면..