TRANSF

  • Трансформация
    TRANSFER

В этой задаче нет длинных историй из жизни. Нет длинных преамбул и сложных постановок. Все, что требуется для решения - прочитать из входного файла вещественное число в формате, заданном спецификацией ниже, и выдать в выходной файл это число в другом формате, о котором также будет сказано ниже.

Синтаксическое описание используемых понятий выглядит следующим образом:

<цифра> ::=0|1|2|3|4|5|6|7|8|9
<целое без знака> ::=<цифра>|<цифра><целое без знака>
<знак> ::=+|-
<целое> ::=<целое без знака>|<знак><целое без знака>
<символ экспоненты> ::=e|E
<экспонента> ::=<символ экспоненты><целое>
<простое вещественное число без знака> ::=<целое без знака>|.<целое без знака>|<целое без знака>.<целое без знака>
<простое вещественное число> ::=<простое вещественное число без знака>|<знак><простое вещественное число без знака>
<вещественное число> ::=<простое вещественное число>|<простое вещественное число><экспонента>

Отметим, что запись "A ::=B|C|D" означает, что по определению A есть либо B, либо C, либо D.

Технические условия:

Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT

Формат входных данных
На входе программа получает файл, содержащий одну или несколько пар строк. Первая строка пары содержит произвольный набор символов S. Длина строки S не превосходит 100 символов. Вторая строка пары содержит целое число N (0<=N<=100). Файл завершается парой строк, первая строка которой содержит единственный символ #.

Формат выходных данных
Для каждой пары строк входного файла программа должна выдать в выходной файл сообщение "Not a floating point number", если строка S не является правильным <вещественным числом> в соответствии с приведенной выше спецификацией. Если же S является <вещественным числом>, то программа должна выдать в выходной файл это число в формате <простого вещественного числа> с точностью N знаков после десятичной точки. При формировании результата следует помнить о следующем:

  1. Целая часть числа не должна быть пуста

  2. В ненулевой целой части числа не должно быть ведущих нулей. В нулевой - точно один ноль

  3. Дробная часть должна содержать точно N знаков

  4. 4. Перед положительным числом не должно стоять знака '+'

  5. 5. Округление выполнять не надо.

Гарантируется, что результат всегда будет занимать не более 200 символов.

Пример:

INPUT.TXT
.04
1
-0.051e0
1
1.1e30
10
-1.1E-30
1
2468097632.1358642324268913e-2
20
e23
3
1 e3
1
#

OUTPUT.TXT
0.0
0.0
1100000000000000000000000000000.0000000000
0.0
24680976.32135864232426891300
Not a floating point number
Not a floating point number