Trang chủ » Blog » Coding Dojo » Kata RomanCalculator

Kata RomanCalculator

bởi CodeGym | 09/12/2023 10:30 | Blog | Coding Dojo

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/

Download - Giáo trình thuật toán

14 + 2 =

0 Lời bình

Gửi Lời bình

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 *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

10 + 9 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM