Thursday, 16 December 2010

Project Euler, mỗi Problem là 1 thử thách cần vượt qua...

Từ ngày bắt đầu chơi trò này, tớ đã bị nó lôi cuốn mạnh mẽ bởi cảm giác sung sướng mỗi khi giải được 1 problem. Và cứ mỗi lần như thế, kỹ năng lập trình của tớ lại trèo lên một bậc cao hơn. Với những bài tóan đưa ra, bắt buộc bạn sẽ phải sử dụng các cấu trúc dữ liệu 1 cách linh họat và nghĩ ra thuật tóan để giải quyết.



Điểm khó ở phần lớn các bài tóan không phải là thuật tóan để giải mà là cách chứa dữ liệu. Với những con số dài hàng trăm chữ số, vượt qua giới hạn của tất cả các kiểu dữ liệu có sẵn trong C. Việc bạn phải làm là tự xây dựng kiểu dữ liệu mới (với C) hoặc sử dụng 1 ngôn ngữ bậc cao hỗ trợ kiểu dữ liệu số lớn (Java, Python) Giải quyết được vấn đề này bạn có thể vượt qua khoảng 10 bài yêu cầu thuật tóan đơn giản. Ví dụ : tính tổng các chữ số của 100!. Tớ đã code tất cả bằng C, hehe



Việc search kết quả trên mạng là hòan tòan có thể với các Problem dễ, thế nhưng điều này phụ thuộc vào Sĩ diện của bạn thôi. Nên nhớ đây là trò chơi, và vượt qua mỗi thử thách là bạn nhận được thêm kinh nghiệm, còn nếu chỉ tìm kiếm kết quả, bạn sẽ chẳng nhận được gì cả.

PE đưa ra các vấn đề mang tính tóan học tương đối rộng. Bởi thế nó đòi hỏi kỹ năng lập trình của bạn rất nhiều. Nếu bạn giải được 25 probs, bạn mới chỉ được xếp vào hạng Novice (người mới học, chưa có kinh nghiệm) @@. Trò chơi này sẽ giúp cho bạn rất nhiều, thậm chí vượt qua những gì nguời ta dạy ở các trung tâm (BKIndex chẳng hạn :)) ). Để giải quyết 1 bài toán, bạn sẽ phải học thêm 1 chút, giải xong bài toán, bạn có thể xem phần thảo luận của những người đã làm, lại học thêm được chút nữa. Một trò chơi tuyệt vời khuyến khích tất cả các thành viên FAMILUG tham gia. Nên nhớ rằng, hãy tự suy nghĩ, tự tìm hiểu để giải quyết vấn đề, dù có đau đầu 1 chút nhưng làm vậy bạn mới thu được tối đã những gì có thể!

Chúc ngủ ngon, hehe >:)