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
	}
}
posted @ 2019-07-15 19:39  虎老狮  阅读(410)  评论(0编辑  收藏  举报