Thứ Hai, 9 tháng 2, 2009
Một số bài tập Pascal khó
Bài 2: Hãy viết chương trình liệt kê tất cả các dãy nhị phân có độ dài n.
Bài 3: Hãy viết chương trình liệt kê các hoán vị của {1,2,...,n}
Bài 4: Hãy viết chương trình liệt kê các tổ hợp chập m của {1,2,...,n}
Bài 5: Có 9 căn phòng (đánh số từ 1 đến 9) được quét vôi với màu trắng, xanh hoặc vàng. Có 9 robot (đánh số từ 1 đến 9) phụ trách việc quét vôi các phòng. Mỗi robot chỉ quét vôi một số phòng nhất định. Việc quét vôi các phòng được thực hiện nhờ 1 chương trình cài sẵn theo quy tắc:
+ Nếu phòng đang có màu trằng thì quét màu xanh.
+ Nếu phòng đang có màu xanh thì quét màu vàng.
+ Nếu phòng đang có màu vàng thì quét màu trắng.
Cần phải gọi lần lượt một số robot ra quét vôi để tất cả các phòng có cùng màu trắng (mỗi lần gọi 1 robot, 1 robot có thể gọi nhiều lần và có thể có robot không được gọi, robot được gọi sẽ quét vôi tất cả các phòng nó phụ trách. Hãy tìm phương án như vậy sao cho số lượt phòng phải quét vôi là ít nhất.
Dữ liệu vào: Cho trong file ROBOT.INP
+ 9 dòng đầu, mỗi dòng mô tả danh sách các phòng được quét vôi bởi 1 robot theo thứ tự từ robot 1 đến robot 9. Mỗi dòng như vậy gồm các số hiệu phòng viết liền nhau.
+ Dòng cuối mô tả màu vôi ban đầu của các phòng gồm 9 kí tự viết liền nhau, kí tự thứ i chỉ màu của phòng i: T - trắng, X - xanh, V - vàng.
Kết quả: Ghi ra file ROBOT.OUT
+ Nếu không thể thực hiện được thì ghi thông báo: "IMPOSSIBLE"
+ Nếu có thể thực hiện được thì ghi 2 dòng: dòng đầu là dãy thứ tự các robot được gọi viết liền nhau và dòng sau ghi số lượt phòng được quét vôi tương ứng.
Ví dụ:
ROBOT.INP
159
123
357
147
5
369
456
789
258
XVXVXVTXT
ROBOT.OUT
2455688
17
Thứ Tư, 4 tháng 2, 2009
Bài toán chia cá-tiếp theo(2)
Người ta kể rằng bài toán câu cá trên đây là một bài toán dân gian đã ra trong một kỳ thi HSG Toán nước Anh. Một cậu bé dự thi lúc bấy giờ, tên là Paul Dirac, đã cho một lời giải ngộ nghĩnh bất ngờ.
1, “Nghiệm Dirac” của bài toán:
Gọi x là số cá câu được, n là số cá còn lại trên bờ sông, ta tính được kết quả: x=1/8(27n + 38) với n=8/3m – 2 và m thuộc B(3)
Vì họ câu tồi nên x phải nhỏ nhất, nghĩa là n nhỏ nhất, cũng tức là m nhỏ nhất: m=0. Từ đó có đáp số: n = -2 và x = -2
Số cá còn lại trên bờ, sau khi cả 3 anh chàng đã lấy phần mình mang về nhà, đúng bằng số cá cả 3 câu được: x = n = -2
Vậy hiểu kết quả này như thế nào?
Cậu bé giải thích: Người thứ nhất ngủ dậy, đếm thấy (-2) con cá, không chia hết cho 3, bèn vứt xuống sông thêm 1 con để số cá trở thành (-3); anh ta lấy 1/3 tức là (-1) con, để lại (-2) con cho 2 bạn còn đang ngủ. Người thứ 2 và thứ 3 cũng làm như vậy và kết quả là mỗi người mang được (-1) con cá về nhà!!!
Thật công bằng vì ai cũng được phần cá như nhau!!!
Dĩ nhiên trên đây chỉ là một lời giải ngộ nghĩnh cho một bài toán cũng ngộ nghĩnh!
Còn đây là bài toán gốc bằng tiếng Anh:
Dirac, while still a student, attended a mathematical congress where the following problem was proposed:
Three fisherman were fishing on a secluded island. The fish briskly gobbled the bait; the fisherman were so absorbed that they did not notice that night had come and did not realize till too late what a mountain of fish they had hooked. So they had to spend the night on the island. Two fisherman quickly fell asleep, each nestled down under his boat, but the third had insomnia and decided to go home. He did not wake his comrades, but divided all the fish into three parts. There proved to be one extra fish. After a moment's thought, he threw it into the water, took his hare, and went home.
In the middle of the night, the second fisherman woke up. He did not know that the first fisherman had already left and also divided all the fish into three and, as before, there was one fish left over. As before, the fisherman threw the extra fish in the water, took his share, and went home.
By early morning, the third fisherman awoke. He did not notice that the other two fisherman had left, so he too divided all the fish into three and, as before, there was one fish left over. As did his comrades before him, the fisherman threw the extra fish in the water, took his share, and went home.
The problem was to determine the least number of fish that the fisherman could have caught. Dirac thought about the problem for a moment before coming to an answer: there were (-2) fishes.
His reasoning? After the first fisherman carried out the antisocial action of throwing a fish into the water there were -2-1 = -3 fish. The he went, carrying in his bag -1 fish, and there were -3-(-1) = -2 fish left behind. The other two fisherman merely repeated this procedure.
2, Số âm và số dương:
Âm và dương đối xứng. Vậy ta thử đổi các nghiệm âm của Dirac ra dương: x = n = +2 và xem thử chúng có ý nghĩa nào không?
Người thứ nhất ngủ dậy, đếm thấy có 2 con cá, không chia hết cho 3 bèn câu thêm 1 con từ bờ sông lên để số cá trở thành (+3); anh ta lấy 1/3 tức là (+1) con, để lại (+2) con cho 2 bạn còn đang ngủ. Người thứ 2 và thứ 3 cũng làm như vậy và kết quả là mỗi người mang được (+1) con cá về nhà.
Cũng công bằng vì mỗi người đều được nhận phần cá như nhau!
Như thế, chỉ cần đổi nghiệm Dirac âm ra dương ta sẽ có một lời giải “nghiêm túc” cho một đề Toán cũng “nghiêm túc”: đừng vứt cá trở lại xuống sông mà hãy câu thêm cá từ dưới sông lên!
Vậy, đứng trước một bài toán, hãy cố gắng nhìn hết các khía cạnh, tìm cho ra hết các nghiệm, dù rằng sau đó có cái phải loại đi vì tính không phù hợp của nó.
3, Paul Dirac (1902 – 1984):
Nhiều bài toán phổ thông rồi sẽ quên đi. Nhưng bài toán 3 chàng đi câu này sẽ còn được nhắc tới vì nó gắn liền với tên tuổi của một trong số ít những nhà Vật lý – Toán học vĩ đại nhất của thế kỷ XX: Paul Dirac.
Năm, 1926, lúc 24 tuổi, trong khi lập và giải phương trình chuyển động của electron, Dirac nhận thấy có một nghiệm lạ - lại là một nghiệm âm! Lẽ ra phải loại nó đi thì ông cứ suy nghĩ mãi về ý nghĩa của nó, tìm cách lý giải và cuối cùng phát hiện ta sự tồn tại tất yếu của một hạt cơ bản chưa biết: positron – anh em song sinh với electron (thật ra là phản hạt của electron). Mấy năm sau, khoa học mới khám phá ra hạt này với đầy đủ các tính chất đặc trưng mà Dirac đã tiên đoán và mô tả bằng lý thuyết.
Dirac nổi tiếng về những ý tưởng độc đáo, bất ngờ và về những giả thuyết táo bạo trong khoa học: ông nhìn thấy cả những cái hợp lý trong những cái vô lý với mọi người. Ông là một trong số những người sáng lập ra Cơ học lượng tử - nền móng của Vật lý hiện đại, là tác giả của Phương trình Dirac, hàm delta Dirac, thống kê Fermi – Dirac trong Toán học (giải tích hàm) và trong Toán lý, giải Nobel năm 1933
Thứ Ba, 3 tháng 2, 2009
Đọc ebook PRC trên S40
Trước đây, khi cần đọc ebook định dạng .PRC trên ĐTDĐ, ta thường nghĩ ngay đến phần mềm Mobipocket Reader. Tuy nhiên, Mobipocket Reader chỉ hoạt động trên các máy có hệ điều hành,… và nếu bạn đang sử dụng S40 thì không thể đọc được các định dạng ebook này. Giải pháp duy nhất là tìm các ebook .PRC, chuyển sang HTML, rồi lại chuyển sang TXT, sau đó build lại thành file JAR. Việc chuyển đổi với khá nhiều bước như thế, chưa kể đến các ebook PRC đã được mã hoá sẽ không thể chuyển đổi được thành JAR do lỗi font.
Nhưng đó chỉ là quá khứ, giờ đây bạn đã có thể sử dụng Mobipocket Reader trên các máy S40 để đọc ebook định dạng PRC.
Bạn tải ứng dụng Mobipocket Reader có thể chạy trên máy S40 (dung lượng 294.76 KB) tại:Mobipocket Reader
Sau khi tải về, giải nén, bạn sẽ thấy có 2 file, 1 file JAR và 1 file JAD. Copy cả 2 file JAR và JAD vào ĐTDĐ.
Sau đó vào ĐTDĐ chạy ứng dụng trên. Nếu ứng dụng chạy được bình thường thì không có vấn đề gì. Bạn chép thêm các ebook định dạng PRC vào thư mục eBooks do Mobipocket Reader tạo ra (Lưu ý là phải chép đúng vào thư mục eBooks, nếu không sẽ có thông báo là không tìm thấy ebook trong thư viện.)
Còn nếu gặp trường hợp máy bạn không thể chạy ứng dụng này bình thường, tức là sẽ có một thông báo hỏi “Cho phép ứng dụng chỉnh sửa và thêm dữ liệu…”, và khi bạn bấm Yes hoặc No một lúc sẽ có thông báo là “Ứng dụng sai”, và bạn sẽ không thể đọc được ebook.
Để khắc phục tình trạng trên, bạn làm theo các bước sau:
- Thay vì bấm nút menu giữa để truy cập vào Mobipocket Reader, bạn nhấn Tuỳ chọn > Truy cập ứng dụng.
- Trong truy cập ứng dụng có 4 mục là Ghi âm đ.ph.tiện, Đọc dữ liệu, Thêm & Ch.sửa D.liệu, Thẻ thông minh, chọn lần lượt 4 mục trên, sau đó chọn tuỳ chọn “Luôn được phép” cho cả 4 mục.
Bây giờ Mobipocket Reader đã có thể chạy tốt trên máy của bạn rồi đấy. Chúc bạn có những giờ phút thư giãn đọc ebook trên ĐTDĐ.
Bài đăng phổ biến
-
(ictexpress.com) – Không cần phân vùng ổ cứng, không sợ mất dữ liệu, cài đặt Ubuntu chỉ với 1 click chuột, gỡ bỏ dễ dàng đó là ưu điểm mà ...
-
Đối với bất kỳ dự án nào, việc xây dựng Data Access Layer (DAL) luôn là công việc tốn nhiều công sức và thời gian nhất, nhất là khi phải là...
-
UBND TP.HCM vừa có văn bản xin phép Thủ tướng Chính phủ, Bộ Văn hóa Thể thao Du lịch cho phép bắn pháo hoa tầm cao tại 2 điểm dịp tết Dương ...
-
ThinkTank Đây là game mini đồ họa 3D đẹp mắt, chơi solo và đặc biệt là chơi online, dung lượng nhẹ 9.2 MB link: http://www.mediafire.com/?wb...
-
Đã 29 năm trôi qua kể từ ngày 30/8/1982, ngày hệ thống liên lạc bằng thư điện tử (email) được cấp bản quyền. Hiện có khoảng 3,1 tỉ tà...
-
"Copy/Paste functionality has been disabled." là cái thông báo mà khá nhiều bạn bị dính, lỗi ở đâu? Virus? hay registry lỗi? máy m...
-
Cái Tên sẽ đi theo suốt cuộc đời của người mang nó, ảnh hưởng trực tiếp đến tương lai về sau… Vì vậy các bậc làm cha làm mẹ với bao hoài b...
-
The smart way to learn Office Word 2007one step at a time! Work at your own pace through the easy numbered steps, practice files on CD, hel...
-
No Serial & No Activation Needed | Extracted Size: 3.47GB | Compressed Files for Download 916MB | Genuine version | FULLY UPDATABLE wi...
-
Bạn nhấp vào đường link này để cài đặt ứng dụng và làm theo hướng dẫn bên dưới. Installation and Usage Instructions Installation 1. Install...