Algorithm/BAEKJOON

[Algorithm] BAEKJOON 1312번: 소수 (Python)

Dreaming Developer 2024. 8. 16. 14:33

https://www.acmicpc.net/problem/1312

 

 

문제

피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다.

 

입력

첫 번째 줄에 A와 B(1 ≤ A, B ≤ 100,000), N(1 ≤ N ≤ 1,000,000)이 공백을 경계로 주어진다.

 

출력

A÷B를 했을 때, 소숫점 아래 N번째 수를 출력한다.

 

 

 

 

풀이

처음에는 소수점 관련 함수를 이용하여 풀어야 하나 생각했는데 주어진 N 조건의 범위가 매우 큰 것을 보고 수학적 원리를 이용해야 한다는 것을 알았다.

단순히 어렸을 때 배웠던 나눗셈의 원리, 즉 나머지에 10을 곱하고 다시 나누는 것을 반복하면서 원하는 자리의 소수점을 찾아주면 된다.

 

 

Python 소스 코드

A, B, N = map(int, input().split())

for _ in range(N):
    A = (A % B) * 10

print(A // B)