e-olymp 11. Большая точность

Задача. Дана рациональная дробь [latex]\frac{m}{n}[/latex]. Запишите её в виде десятичной дроби с точностью [latex] k[/latex] знаков после запятой.

Входные данные

В одной строке записано 3 числа [latex]m,n,k[/latex]. [latex]{{0}<{m,n}\leq{100}}[/latex], [latex]{{0}\leq{k}\leq{1000}}[/latex].

Выходные данные

Вывести [latex]k[/latex] точных значащих цифр после десятичной точки искомого числа.

Алгоритм решения:

Деление уголком

Деление уголком

Разделим [latex]m[/latex] на [latex]n[/latex] в столбик. Определим, сколько раз [latex]n[/latex] помещается в [latex]m[/latex]. Это будет целая часть частного. Умножим ее на [latex]n[/latex] и отнимем от [latex]m[/latex]. Таким образом получим остаток от деления. Будем умножать его на [latex]10[/latex] (эквиваленто сноске [latex]0[/latex]) и  проводить такую же операцию, как при нахождении целой части пока не закончится цикл. Так мы определим все цифрs после запятой.

 Код программы

Проверка

  1. (По условию задачи):
Ввод: # Вывод:
m 1 0.500
n 2
k 3

2.

Ввод: # Вывод:
m 2 0.66666666666666666666
n 3
k 20

3.

Ввод: # Вывод:
m 9 1.000000000
n 9
k 9

4.

Ввод: #
m 1 0.33333333333333333333
n 3
k 20

Здесь можно посмотреть решение на ideone.com

Здесь можно посмотреть  условие задачи на e-olymp.com

Related Images: