Tinh Hoa

Thủ tướng Lý Hiển Long ra câu đố cho dân lập trình

Ngày Thứ Hai (4/5), thủ tướng Lý Hiển Long đã đăng lên trang Facebook của mình một câu hỏi khá thú vị thuộc về kỹ thuật lập trình C++, vốn là một môn học khó xơi dành cho sinh viên ngành Lập Trình Phần Mềm. Nguyên văn như sau:

Nội dung trên Facebook thủ tướng Lý Hiển Long

Vài tuần trước, tôi đã nói với các sáng lập viên diễn đàn về một chương trình máy tính mà tôi đã viết, với tính năng giải toán trò chơi Sodoku, được viết từ vài năm trước bằng ngôn ngữ C++. Vài người quan tâm về nó. Sau đây là mã nguồn, file thực thi và bản mẫu dữ liệu đầu ra (sample printout).

Chương trình này khá là đơn giản: Nó chạy bằng cách nhập dòng lệnh (ghi chú: màn hình console), trong một màn hình DOS (màn hình đen thui có thể các bạn đã thấy qua). Nhập vào dữ liệu theo từng dòng (ví dụ 1-3-8—6), sau đó chương trình sẽ in ra giải pháp (một hoặc vài giải pháp nếu có). Qua vài bước nó sẽ tìm kiếm giải pháp và kèm theo dữ liệu thống kê.

Chương trình này sử dùng phương thức tìm kiếm quay lui, lựa chọn ô kế tiếp để giảm thiểu giới hạn đầu vào (fanout).

Câu hỏi dành cho dân lập trình:

Nếu x là một số nguyên dạng nhị phân (*), vậy kết quả của (x & -x) sẽ là gì?

Chúc bạn vui với chương trình này. Xin vui lòng báo cho tôi biết nếu bạn tìm thấy một lỗi nào của chương trình.

Các bạn có thể tìm thấy bài đăng trên Facebook của thủ tướng theo đường dẫn này.

https://www.facebook.com/leehsienloong/photos/a.344710778924968.83425.125845680811480/905828379479869/?type=1&theater

Đối với dân trong ngành thì chương trình của ông thủ tướng Lý không quá phức tạp, nhưng điều đáng khâm phục ở đây là ở độ tuổi của mình hiện nay, ông Lý vẫn có thể tìm tòi học hỏi một lĩnh vực khô khan và phức tạp như lập trình.

Đồng thời câu hỏi cũng cho thấy thủ tướng Lý Hiển Long thực sự đã áp dụng giải thuật vào chương trình, và cách viết mã của ông cũng rất sáng sủa rành mạch. Điều này cho thấy ông đầu tư thật sự nghiêm túc chứ không chỉ học qua loa cho biết.

Điều này khiến người ta bất giác tự hỏi, khi các vị lãnh đạo đất nước thân yêu của chúng ta đặt mục tiêu xây dựng thành phố Đà Nẵng như Singapore, họ có suy nghĩ đến năng lực lãnh đạo và tinh thần học hỏi của vị thủ tướng này không.

(*) Số nguyên dạng nhị phân: các số nguyên chuyển đổi sang dạng nhị phân, ví dụ 5 sẽ là 101, 9 sẽ là 1001.

Tiểu Đạo