В этой задаче нет длинных историй из жизни. Нет длинных преамбул и сложных постановок. Всё, что требуется для решения — прочитать вещественное число в формате, заданном спецификацией ниже, и выдать это число в другом формате, о котором также будет сказано ниже.
Синтаксическое описание используемых понятий:
<цифра> ::= 0|1|2|3|4|5|6|7|8|9
<целое без знака> ::= <цифра>|<цифра><целое без знака>
<знак> ::= +|-
<целое> ::= <целое без знака>|<знак><целое без знака>
<символ экспоненты> ::= e|E
<экспонента> ::= <символ экспоненты><целое>
<простое вещественное число без знака> ::= <целое без знака>|.<целое без знака>|<целое без знака>.<целое без знака>
<простое вещественное число> ::= <простое вещественное число без знака>|<знак><простое вещественное число без знака>
<вещественное число> ::= <простое вещественное число>|<простое вещественное число><экспонента>
Исходные данные
На входе программа получает одну или несколько пар строк. Первая строка пары содержит
произвольный набор символов S. Длина строки S не превосходит 100 символов. Вторая строка пары содержит
целое число N (0 ≤ N ≤ 100). Вход завершается парой строк, первая строка которой содержит единственный
символ '#'.
Результат
Для каждой пары строк входа программа должна выдать сообщение «Not a
floating point number», если строка
S не является правильным <вещественным числом> в соответствии с приведённой выше спецификацией. Если же
S является <вещественным числом>, то программа должна выдать это число в формате <простого вещественного числа> с точностью
N знаков после десятичной точки. При формировании результата следует помнить о следующем:
- Целая часть числа не должна быть пуста.
- В ненулевой целой части числа не должно быть ведущих нулей. В нулевой — точно один ноль.
- Дробная часть должна содержать точно N знаков.
- Перед положительным числом не должно стоять знака '+'.
- Округление выполнять не надо.
Гарантируется, что результат всегда будет занимать не более 200 символов.
Пример
исходные данные | результат |
---|
10.23
0
.04
1
-0.051e0
1
1.1e30
10
-1.1E-30
1
2468097632.1358642324268913e-2
20
e23
3
1 e3
1
#
| 10
0.0
0.0
1100000000000000000000000000000.0000000000
0.0
24680976.32135864232426891300
Not a floating point number
Not a floating point number |
Замечания
Строка S может содержать любые символы с кодами 32-255.
Автор задачи: Александр Клепинин
Источник задачи: Ural State Univerisity Personal Contest Online February'2001 Students Session