Dạng mũ đơn giản
Đề bài
Mô tả
Cho một số thập phân dương được biểu diễn dưới dạng xâu ký tự. Số có thể có:
- Các chữ số 0 dẫn đầu (ví dụ
0016.). - Các chữ số 0 phía sau ở phần thập phân (ví dụ
1.23400). - Dấu chấm thập phân
.có thể xuất hiện hoặc không. Nếu có thì có thể không có chữ số trước hoặc sau dấu chấm (ví dụ.100,100.).
Hãy chuyển về dạng mũ đơn giản (simple exponential notation):
Viết với . Khi đó dạng tổng quát là aEb. Trong đó:
- Nếu thì phần
Ebbị bỏ qua. - Nếu là số nguyên (tức phần thập phân của chỉ gồm các chữ số 0) thì bỏ luôn dấu chấm và phần thập phân — chỉ in chữ số nguyên.
- Trong và không được có chữ số 0 thừa (không có 0 dẫn đầu trong , không có 0 ở cuối phần thập phân của , không có 0 dẫn đầu trong ). Riêng có thể là số âm — khi đó in dấu trừ phía trước, ví dụ
1E-1.
Dữ liệu vào
Một dòng duy nhất chứa xâu ký tự biểu diễn số thập phân dương . Vì có thể rất lớn nên không được dùng các kiểu dữ liệu dấu chấm động chuẩn như float, double.
Dữ liệu ra
Một dòng duy nhất — số ở dạng mũ đơn giản.
Ràng buộc
- Độ dài xâu biểu diễn không vượt quá .
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 16 | 1.6E1 | . |
| 01.23400 | 1.234 | Bỏ 0 dẫn đầu và 0 cuối, nên bỏ phần Eb. |
| .100 | 1E-1 | . là số nguyên nên bỏ dấu chấm. |
| 100. | 1E2 | , nên không in .0. |
Bình luận