Tôi là một nhạc sĩ, và tôi cần nhiều nhịp điệu hơn trong cuộc sống của mình!
Một đa nhịp xảy ra trong âm nhạc (và trong tự nhiên) khi hai sự kiện (vỗ tay, ghi chú, đom đóm nhấp nháy, v.v.) xảy ra ở hai khoảng thời gian đều đặn khác nhau. Hai loại sự kiện xảy ra một số lần khác nhau trong cùng một khoảng thời gian.
Nếu tôi chạm bằng tay trái hai lần và bằng tay phải 3 lần, trong cùng một khoảng thời gian, nó trông hơi giống như thế này:
------
R . . .
L . .
Các dấu gạch nối ở trên cùng biểu thị độ dài của mẫu đa nhịp, là bội số chung thấp nhất hoặc 2 và 3. Điều này có thể được hiểu là điểm mà mẫu lặp lại.
Ngoài ra còn có một 'nhịp tim', đó là mô hình được tạo ra khi một trong hai tay đang gõ:
------
R . . .
L . .
M . ...
Đây là một đa nhịp đơn giản và rất phổ biến, với tỷ lệ 3: 2.
Hãy nói rằng tôi không muốn thực hiện một chứng loạn nhịp tim đơn giản mà tôi có thể giải quyết trong đầu, vì vậy tôi cần một cái gì đó để giải quyết nó cho tôi. Tôi có thể làm nó ở dạng dài trên giấy, hoặc ...
Quy tắc:
- Viết một số mã để tạo và hiển thị sơ đồ đa nhịp, như được mô tả ở trên.
- Bất kỳ ngôn ngữ cũ, hãy thử cho ít byte nhất.
- Mã của bạn có hai đối số:
- Số lượng vòi bằng tay trái (số nguyên dương)
- Số lượng vòi bằng tay phải (số nguyên dương)
- Nó sẽ tính ra độ dài, là bội số chung thấp nhất cho hai đối số.
- Dòng trên cùng sẽ bao gồm hai ký tự khoảng trắng theo sau là dấu gạch nối hiển thị độ dài (chiều dài * '-')
- Dòng thứ hai và thứ ba sẽ hiển thị mẫu cho tay phải và tay trái:
- Nó sẽ bắt đầu bằng R hoặc L, biểu thị đó là tay nào, theo sau là khoảng trắng.
- Khoảng thời gian cho bàn tay đó là độ dài chia cho đối số của nó.
- Các vòi sẽ bắt đầu ở ký tự thứ ba, được biểu thị bằng bất kỳ ký tự nào bạn chọn. Từ đó trở đi, nó sẽ hiển thị cùng một ký tự 'khoảng' ký tự.
- Nó sẽ không dài hơn dòng chiều dài.
- Dòng thứ tư là nhịp tim:
- Nó sẽ bắt đầu bằng chữ M viết hoa, theo sau là khoảng trắng.
- Từ ký tự thứ ba trở đi, nó sẽ hiển thị một ký tự (bất kỳ ký tự nào bạn chọn) ở mọi vị trí có chạm vào tay phải hoặc tay trái.
- Trailing khoảng trắng là không liên quan.
Các trường hợp thử nghiệm:
r = 3, l = 2
------
R . . .
L . .
M . ...
r = 4, l = 3
------------
R . . . .
L . . .
M . .. . ..
r = 4, l = 5
--------------------
R . . . .
L . . . . .
M . .. . . . ..
r = 4, l = 7
----------------------------
R . . . .
L . . . . . . .
M . . .. . . . .. .
r = 4, l = 8
--------
R . . . .
L ........
M ........
Chúc bạn chơi golf vui vẻ!
rvà lnhư hai giá trị riêng biệt không? Thay vào đó, chúng ta có thể chấp nhận một mảng hai yếu tố không? Làm thế nào về thứ tự của họ, được rằng Nghiêm rtiếp theo l?