posite 2026. 3. 13. 10:13

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

A를 B로 나누었을 때, 소수점 아래 N번째 수를 출력하는 문제이다.

 

소수점 아래의 수를 구하기 위해 나머지에 10을 곱해 준 후 다시 B로 나누어야한다. 해당 자리 숫자는 나눈 몫이 된다.

코드는 아래와 같다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class 소수1312 {
    
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        long a = Long.parseLong(st.nextToken()), b = Long.parseLong(st.nextToken());
        long n = Long.parseLong(st.nextToken());
        br.close();
        long remainder = a % b;
        
        long digit = 0;
        for (long i = 0; i < n; i++) {
            remainder *= 10;
            digit = remainder / b;
            remainder %= b;
        }
        
        System.out.print(digit);
    }
}