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**
0 Lời bình