Saturday, 13 November 2010

Và bây giờ, trò chơi bắt đầu! ProjectEuler



Không phải ngẫu nhiên mà trong ~ Links~ của FAMILUG lại có 1link dẫn đến trang http://projecteuler.net/. Hãy bắt đầu ngay bay giờ, hãy đăng kí 1 tài khỏan và vượt qua những thử thách lập trình. Bàn luận và đưa ra giải pháp ở đây. Hãy đi xa hết mức mình có thể? Liệu trong FAMILUG sẽ có 1 người giải quyết được vấn đề số 300?

Bắt đầu ngay bây giờ, bằng câu hỏi số 1. Giải quyết và lập trình rồi đưa kết quả vào phần cm. Không đưa code lên cho đến khi có người thứ 2 đưa ra đáp án đúng. Hãy sử dụng bất kỳ ngôn ngữ nào bạn biết. Và tớ đã bắt đầu bài 1 với C

Đề bài: http://projecteuler.net/index.php?section=problems&id=1 <= DK nick, làm xong thì điền đáp án vào đây kiểm tra.

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
Tính tổng của tất cả các bội số nhỏ hơn 1000 của 3 và của 5?



Hãy tự đọc đề bài bằng tiếng Anh. Không hiểu đề, bạn đã là người thua cuộc. Ví dụ như trong bài này, nói bội số của 3 và của 5 khác hòan tòan với của 15
Tớ làm bài này mất 5 phút (do đọc nhầm là <=)
Kết quả là ....168

Các thành viên hãy đưa ra kết quả để bước sang câu hỏi số 2!
Đừng nhăm nhe tìm lời giải sẵn, hãy để cái đầu của bạn hoạt động, đừng biến nó thành chỗ chỉ để mọc tóc!

NOTE: cần phải tối ưu hóa thuật tóan vì 1 yêu cầu nhỏ là chương trình của bạn phải ra kết quả trong vòng 1 phút. (dữ liệu ở đây sử dụng các số rất lớn nên hãy làm quen với các kiểu dữ liệu cho số lớn Unsigned Int, double...)