#6825. 高精度小数输出

高精度小数输出

高精度小数输出

题目描述

小明正在学习除法运算。

给定两个整数:

  • 被除数 a
  • 除数 b

请计算:

ab\frac{a}{b}

并按照要求输出结果。

由于计算机中浮点数存在精度限制,本题要求你模拟人工竖式除法,输出指定数量的小数位。


输入格式

输入共一行,包含三个整数:

a b n

其中:

  • a 表示被除数。
  • b 表示除数。
  • n 表示需要保留的小数位数。

保证:

1 ≤ a,b ≤ 10^9
0 ≤ n ≤ 100

输出格式

输出:

a ÷ b

的结果。

要求:

  1. 输出整数部分;
  2. 输出一个小数点 .
  3. 输出小数点后 n 位数字。

如果小数不足 n 位,需要补 0


样例输入 1

10 3 5

样例输出 1

3.33333

样例解释

计算:

10 ÷ 3

整数部分:

10 / 3 = 3

余数:

10 % 3 = 1

开始计算小数部分:

第一次:

1 × 10 = 10

10 / 3 = 3

余数 = 1

第二次:

1 × 10 = 10

10 / 3 = 3

余数 = 1

因此:

3.33333

样例输入 2

22 7 6

样例输出 2

3.142857

样例解释

22 ÷ 7

整数部分:

22 / 7 = 3

余数:

22 % 7 = 1

小数模拟:

次数 余数×10 新余数
1 10 1 3
2 30 4 2
3 20 2 6
4 60 8 4
5 40 5
6 50 7 1

得到:

3.142857

数据范围说明

小数据:

n ≤ 10

可以直接使用 double

本题:

n ≤ 100

需要模拟除法。

原因:

浮点数:

double

只能保证约15~16位有效数字。

如果:

1 / 3

要求:

100位小数

double 无法准确表示。