Java蓝桥杯练习题——求小数n位后3个数
求整数除法小数点后第n位开始的3位数
位数不足的补0,如0.125小数第3位后三位:0.12500→500
输入格式:a b n,空格分开,a是被除数,b是除数,n是小数后的位置
输出格式:3位数字,a÷b小数后第n位开始的3位数字
样例:
输入:1 8 1
输出:125
输入1 8 3
输出:500
输入:282866 999000 6
输出:914
package bb;
import java.util.Scanner;
public class 求小数n位后3个数 {
static long a, b, n;
static void getInput() {
Scanner sc = new Scanner(System.in);
a = sc.nextLong();
b = sc.nextLong();
n = sc.nextLong();
sc.close();
}
// a扩大10^(n - 1) + 3倍,÷b,再取后3位
static void calc() {
long _扩大倍数 = (long) Math.pow(10, (n - 1) + 3);
long _a扩大后 = a * _扩大倍数;
long _商 = _a扩大后 / b;
long _后三位 = _商 % 1000;
System.out.println(_后三位);
}
public static void main(String[] args) {
getInput();
calc();
// 输入:1 8 1
// 输出:125
// --------------
// 输入1 8 3
// 输出:500
// --------------
// 输入:282866 999000 6
// 输出:914
}
}