btvn.vn
Tìm kiếm Đăng nhập

Sinh xâu RGB và biểu diễn hex

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kĩ thuật duyệt · Chọn bài khác

Cùng mô hình, đổi bảng kí tự

```python def genWords(A, k, n, alphabet): global count if k == n: print(''.join(A)) count += 1 else: for value in alphabet: A.append(value) genWords(A, k + 1, n, alphabet) A.pop() ``` Với alphabet=['R','G','B'], mỗi vị trí thử lần lượt R,G,B. Bắt đầu count=0 và genWords([],0,n,alphabet). Tại cơ sở, join in xâu đã chọn; sau mỗi lời gọi nhỏ vẫn pop để khôi phục tiền tố. Với n=2, kết quả theo thứ tự RR,RG,RB,GR,GG,GB,BR,BG,BB, có 3²=9 nghiệm. Bảng kí tự là miền lựa chọn gồm các giá trị khác nhau; đổi thứ tự thử sẽ đổi thứ tự in, không đổi tập nghiệm.

Biểu diễn hex đúng ba kí tự

Dùng bảng kí tự 0123456789ABCDEFvà n=3. Theo mô hình của SGV, cả ba vị trí đều được chọn 0, nên kết quả có từ 000 đếnFFF, gồm16³=4096 xâu đúng ba kí tự. Các số 0 đầu được giữ trong biểu diễn. Nếu một đề khác quy định chữ số đầu không được bằng 0 thì miền lựa chọn đầu thay đổi; không dùng ngầm điều kiện ấy cho mô hình hiện tại. Bài đang sinh đủ các biểu diễn có độ rộng ba kí tự như mã hướng dẫn của sách. Chạy rgb2 để kiểm chín xâu và tổng 9; chạy hexđể kiểm dòng đầu 000, cuốiFFFvà tổng 4096. Không chỉ kiểm tổng, còn cần đúng độ dài, đúng bảng kí tự và không lặp xâu.

Bài luyện

Có bao nhiêu xâu độ dài 2 trên bảng R,G,B?
Chọn một đáp án

Bài luyện

Trong mô hình hex ba kí tự của bài,000 có được sinh không?
Chọn một đáp án

Bài luyện

Đổi thứ tự alphabet từ R,G,B thành B,G,R làm gì thay đổi?
Chọn một đáp án

Đang học