Kata này yêu cầu xây dựng một hàm nhận vào một số để tính toán và trả về một chuỗi thỏa mãn quy tắc sau:

Level 1

Các quy tắc:

  • Nếu số đó chia hết cho 3 thì thêm vào chuỗi từ “Foo”
  • Nếu số đó chia hết cho 5 thì thêm vào chuỗi từ “Bar”
  • Nếu số đó chia hết cho 7 thì thêm vào chuỗi từ “Qix”
  • Nếu số đó chứa chữ số 3, 5, 7, thì thêm vào chuỗi các từ “Foo”, “Bar”, “Qix”.

Ví dụ:

1 => 1
2 => 2
3 => FooFoo (chia hết cho 3, chứa số 3)
4 => 4
5 => BarBar (chia hết cho 5, chứa số 5)
6 => Foo (chia hết cho 3)
7 => QixQix (chi hết cho 7, chứa số 7)
9 => Foo
10 => Bar
12 => Foo
13 => Foo
15 => FooBarBar (chia hết cho 3, chia hết cho 5, chứa số 5)
21 => FooQix (Chia hết cho 3, chia hết cho 7)
33 => FooFooFoo (Chia hết cho 3, chứa hai số 3)
51 => FooBar (Chia hết cho 3, chứa số 5)
53 => BarFoo (Chứa số 5 và số 3)

Level 2

Kata này có thêm một yêu cầu mới đó là đánh dấu vị trí của số 0 bằng cách thêm vào chuỗi ký tựu “*”.

Ví dụ:

101 => 1*1
303 => FooFoo*Foo
105 => FooBarQix*Bar
10101 => FooQix**


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.