Kata RomanCalculator

kata romancalculator
Want create site? Find Free WordPress Themes and plugins.

Giới thiệu kata

CodersDojoSweden, tổ chức ở Linköping, đã tìm kiếm một bài Kata mới đủ đơn giản dành cho người mới bắt đầu. Và Thomas Nilsson đã đưa ra bài toán Cộng số La Mã.

Mô tả bài toán

Là một kế toán, tôi muốn cộng các số La Mã tự động bởi vì làm việc đó bằng tay quá tẻ nhạt.” Cho các chữ số La Mã cơ sở ( I – 1, V – 5, X – 10, L – 50, C – 100, D – 500, M – 1000), tạo ra hai số La Mã và tính tổng của chúng. Ở Rome thời đó không có số Thập phân hay số nguyên, chúng ta cần làm việc đó với chuỗi kí tự.

Ví dụ: “XIV” + “LX” = “LXXIV”.

Dưới đây là nguyên tắc viết số La Mã:

  • Các chữ số được nối vào nhau thành số lớn hơn (VD: “XX” + “II” = “XXII”)
  • Nếu chữ số nhỏ hơn đứng trước chữ số lớn hơn, lấy chữ số lớn trừ số nhỏ (VD: “IV” là 4, “CM” là 900)
  • Với các chữ số La Mã là I, X, C bạn không thể có nhiều hơn 3 kí tự liên tiếp (VD: Không dùng “IIII” để biểu diễn số 4 mà dùng “IV”)
  • Với các chữ số La Mã là V, L, D bạn không thể có nhiều hơn 1 khi biểu diễn một số (VD: 1000 không biểu diễn là “DD” mà dùng “M” để biểu diễn)

Gợi ý

Nhóm chuỗi và nối chuỗi là chìa khóa để giải quyết bài Kata này. Nhưng hãy nhớ quy tắc về trường hợp số nhỏ hơn đứng trước số lớn hơn ở trên.(Nếu chữ số nhỏ hơn đứng trước chữ số lớn hơn, lấy chữ số lớn trừ số nhỏ, VD: “IV” là 4, “CM” là 900).

Gợi ý các ca kiểm thử (test case)

10 ca kiểm thử đầu tiên tương đối dễ tìm. Tôi không đưa ra chúng ở đây bởi vì tôi thấy rằng bài Kata này là một trong số những bài Kata rất tốt để thực hành việc tìm các ca kiểm thử.

Nguồn Kata: http://codingdojo.org/kata/RomanCalculator/

Did you find apk for android? You can find new Free Android Games and apps.

Bình luận

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *