백준 / 소수 / 1312

박성완·2022년 3월 27일
0

백준

목록 보기
38/78
post-thumbnail

Question

문제링크
Silver 5

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

Input

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

25 7 5

Output

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

2

Logic

기본 구조 : loop
1. 소수점 아래의 값들은 각 자릿수별로 나눈 나머지를 b로 나눈 몫들이다. (초등학생 때 나눗셈을 하는 과정을 써본다면 이해가 쉬울 것이다.)
2. 자릿수별 몫을 구하기 위해 , a에 10을 곱한 값을 b로 나눈 나머지를 n-1번 대입한다.
3. 마지막 값을 10을 곱해 b로 나눈 몫을 출력한다.

Code

from sys import stdin
a,b,n = map(int,stdin.readline().strip().split())

a%=b
for _ in range(n-1) : a=(a*10)%b 
print((a*10)//b)

0개의 댓글