Leonardo da Pisano hay còn gọi là Fibonacci là công cụ đưa hệ thống chữ số Hindu-Ả Rập vào châu Âu. Trước đó, các nhà toán học ở đó đã làm việc trong cơ sở sáu mươi với các chữ số La Mã.
Ví dụ, căn bậc hai của hai có thể xấp xỉ là: một và hai mươi bốn phần của sáu mươi và năm mươi mốt phần ba nghìn sáu trăm , và được viết là: i xxiv li , với tỷ lệ được xác định theo ngữ cảnh. Vào thời điểm đó, không có gì khác, đã được biết đến ( tức là số 0), nhưng không có đại diện tiêu chuẩn trong hệ thống số này.
Nếu Fibonacci bỏ qua những chữ số thập phân có răng cưa mới mà anh gặp phải trong các chuyến đi của mình, anh chắc chắn sẽ giải quyết được những thiếu sót trong hệ thống hiện tại. Hệ thống được cải tiến này, chúng tôi sẽ gọi giới tính của Fibonacci .
Nhiệm vụ của bạn là viết một chương trình, hàm hoặc đoạn mã lấy số dấu phẩy động ở định dạng ASCII hoặc định dạng nhị phân và xuất ra bằng sáu mươi chữ số La Mã cơ sở. Đầu vào có thể là tệp, bàn điều khiển, dòng lệnh hoặc đối số chức năng và đầu ra có thể là tệp hoặc bàn điều khiển, tùy theo cái nào là dễ nhất.
Đầu ra có thể là chữ hoa hoặc chữ thường và phải bao gồm các cải tiến sau:
- sử dụng n hoặc N để biểu thị null có nghĩa là một địa điểm không có giá trị, nghĩa là Số 0 không (vấn đề với hệ thống)
- sử dụng e hoặc E để chỉ et tương ứng với điểm giới tính (một vấn đề khác với hệ thống)
- sử dụng dấu chấm giữa · hoặc dấu hoa thị * để phân tách các nhóm chữ số La Mã (một vấn đề khác với hệ thống)
Giả sử đầu vào sẽ là dấu phẩy động với mantissa không lớn hơn lix · lix · lix · lix · lix . Phân số nhỏ hơn n · e · n · n · n · n · tôi có thể bỏ qua. Vì vậy, với điều kiện đầu vào có những hạn chế này, nhiều nhất là mười nhóm chữ số La Mã với một e có thể xuất ra.
Số ít hơn tôi phải có n · e hàng đầu để đảm bảo bối cảnh rõ ràng.
Một số ví dụ: input
→ đầu ra
0
→ n1
→ tôi60
→ tôi · n0.1
→ n · e · vi3600
→ tôi · n · n10.5
→ x · e · xxx16777215
→ i · xvii · xl · xx · xv3.1415926536
→ iii · e · viii · xxix · xliv · n · xlvii
Đầu ra phải tránh n · không cần thiết trong phần mantissa, e bị cô lập hoặc trailing · n trong phần phân số của đầu ra. Vì vậy, ví dụ, n · n · n · n · i , i · e và i · e · n · n · n · n · n là đầu ra không chính xác cho đầu vào của 1
.
Sự khác biệt của cộng hoặc trừ n · e · n · n · n · n · i trong đầu ra nằm trong dung sai và chấp nhận được.
Đầu vào là bất kỳ điểm nổi hợp pháp nào trong ngôn ngữ bạn chọn, do đó, có thể bao gồm các số mũ dương hoặc âm miễn là đầu vào không nằm ngoài phạm vi được chỉ định ở trên.
Và cuối cùng, chữ số La Mã tích hợp được cho phép!