PDA

Xem đầy đủ chức năng : 18 bài toán tuyển dụng của Microsoft



Băng Nhi
30-06-2006, 10:47 AM
18 bài - 180 phút thôi!

1. Cho một danh sách liên kết đơn (simple linked list) hữu hạn. Có hai trường hợp: một là cuối danh sách trỏ về NULL, hai là trỏ về một phần tử đã gặp - tạo nên một vòng tròn trong danh sách.
Ví dụ trường hợp 1: A --> B --> C --> D --> NULL.
Ví dụ trường hợp 2: A --> B --> C --> D --> E --> F --> C.
Cho trước một con trỏ vào một danh sách liên kết đơn L nào đó, hữu hạn nhưng có thể có độ dài tùy ý. Làm thế nào để kiểm tra nhanh nhất nếu danh sách L thuộc trường hợp 1 hay trường hợp 2, với điều kiện là ta chỉ được dùng vài chục bytes bộ nhớ.

2. Cho một chuỗi ký tự s bao gồm nhiều từ. Viết một đoạn chương trình C đảo thứ tự các từ.
Ví dụ: với input là "this is a nice blog" thì output là "blog nice a is this".

3. Cho hai dãy số đã xếp thứ tự tăng dần A và B, mỗi dãy có n phần tử. Xét tập hợp sau:
S = { A[i] + B[j] | 1 <= i, j <= n }.
Chú ý rằng S có thể có đến n2 phần tử. Viết một chương trình in ra n số lớn nhất trong S. Chương trình phải chạy trong thời gian O(n).

4. Chỉ với các phép tính cộng, trừ, nhân, chia, các hàm lượng giác, phép lũy thừa, và phép lấy căn, cùng với ba số 2, làm thế nào để viết một biểu thức định trị ra 2005? (Gợi ý: 2005 không có gì đặc biệt, số nguyên dương nào cũng được.)

5. Thần biết tuốt, Thần thông thái và Mít đặc đứng trước mặt bạn. Thần biết tuốt và Thần thông thái cái gì cũng biết. Mít đặc thì cái biết cái không.Thần biết tuốt luôn nói thật, Thần thông thái luôn nói dối. Với 3 câu hỏi có/không, mỗi câu chỉ hỏi một trong ba đối tượng, xác định ai là ai.

6. Cho a và b là các số nguyên dương, nguyên tố cùng nhau. Tìm công thức tính số nguyên lớn nhất không thể viết dưới dạng ax+by, trong đó x và y là các số nguyên không âm.

7. Cho hai sợi dây dài, làm bằng các vật liệu khác nhau, có mật độ vật chất khác nhau ở các điểm khác nhau của từng sợi. Cho biết mỗi sợi dây cháy trong đúng một giờ thì hết. Dùng hai sợi dây (và diêm) để đo 45 phút.

8. Cho hai hình lập phương. Ta phải gán các chữ số 0-9 (mỗi mặt một số) ra sao để có thể dùng hai hình lập phương biểu diễn được tất cả các ngày trong tháng.

9. Những điểm nào trên quả địa cầu (giả sử là đúng hình cầu) có tính chất sau đây: đi về phía Nam 1km, sau đó về phía Tây 1km, sau đó về phía Bắc 1km thì quay lại điểm cũ.

10. Cho một mảnh giấy hình chữ nhật với một lỗ hổng hình chữ nhật ở giữa.
Hỏi: Dùng dao cắt mảnh giấy một nhát như thế nào để có hai nửa có diện tích bằng nhau?
. Có 500 cái cửa nằm dọc theo một hành lang đánh số từ 1 đến 100. Lúc đầu các
11cửa đều đóng. Có 500 người xếp hàng đi dọc hành lang. Anh thứ nhất mở tất cả các cửa; anh thứ hai chuyển trạng thái (mở thành đóng, đóng thành mở) các cửa 2, 4, 6, ...; anh thứ ba chuyển trạng thái các cửa 3, 6, 9, ...; cứ như vậy đến anh thứ 500 chuyển trạng thái cửa 500.
Hỏi: cuối cùng có bao nhiêu cửa đóng?

12. Có hai căn phòng nằm cạnh nhau nhưng không thông nhau, và đứng bên này không thấy bên kia. Phòng 1 có ba cái đèn bóng tròn. Phòng 2 có ba công tắc của ba đèn ở phòng 1. Bạn là người lạ, được dẫn vào phòng 2 trước, được quyền nghịch ngợm tắt mở công tắc tùy ý. Sau đó bạn được sang phòng 1 kiểm tra đèn.
Hỏi: nghịch thế nào ở phòng 2 để biết công tắc nào tương ứng với đèn nào?

13. Tom ở tầng 3, Jerry ở tầng 33 của một chung cư. Một hôm hứng chí cả hai ra ban công hét lên cùng một lúc.
Hỏi: ai nghe thấy tiếng của người kia trước?

14. Có 10 đồng tiền, thật có giả có. Cho một cái cân đĩa không có quả cân. Các đồng thật nặng bằng nhau, các đồng giả nặng bằng nhau và nhẹ hơn các đồng thật.
Hỏi: cân ba lần và chỉ ra các đồng giả.

15. Ba người cần chia một cái bánh sao cho ai cũng thỏa mãn về phần bánh của mình.
Hỏi: tìm giải pháp chia bánh với giả thiết ai cũng tin rằng mình cắt bánh công bằng.

16. (Bài toán Monty Hall) Monty Hall làm MC của một trò chơi trên truyền hình. Có ba cái cửa chắn trước người chơi. Đằng sau một trong các cánh cửa là phần thưởng. Bạn chọn một trong ba cánh cửa. Monty Hall xem đằng sau hai cánh còn lại và mở một cửa không có phần thưởng.
Hỏi: bạn sẽ giữ chọn lựa cũ hay đổi sang cửa còn lại để lấy phần thưởng? Tại sao?

17. Tom yêu hai cô gái Mary và Tinny. Cả ba sống trên cùng một con đường, Tom ở đoạn giữa. Các xe buýt đi cả hai chiều của con đường, mỗi chiều một tiếng một lần có xe buýt đến (tốc độ đều). Sáng sáng Tom ra bến xe buýt và đón xe nào đến trước thì đi về hướng ấy. Sau một thời gian dài thì Tom đi thăm Mary gấp ba lần đi thăm Tinny.
Hỏi: sao lại thế được?

18. Có hai xe tải đứng đối diện nhau, cách nhau 100km. Xe 1 có tốc độ 50km/h, xe 2 có tốc độ 30km/h, một con ruồi đậu trên mũi xe 1 bay qua bay lại giữa hai mũi xe với tốc độ 5000km/h. Cả hai xe và con ruồi đều xuất phát cùng một lúc.
Hỏi: đến khi con ruồi bị đè bẹp gí giữa hai xe (đụng nhau) thì con ruồi bay được bao xa?

Sưu tầm

player
30-06-2006, 11:28 AM
hichic bài của Microsoft đúng là khó thật ,toàn là sử dụng chất sám không hà
13. Tom ở tầng 3, Jerry ở tầng 33 của một chung cư. Một hôm hứng chí cả hai ra ban công hét lên cùng một lúc.
Hỏi: ai nghe thấy tiếng của người kia trước?
=> nghe như nhau
18. Có hai xe tải đứng đối diện nhau, cách nhau 100km. Xe 1 có tốc độ 50km/h, xe 2 có tốc độ 30km/h, một con ruồi đậu trên mũi xe 1 bay qua bay lại giữa hai mũi xe với tốc độ 5000km/h. Cả hai xe và con ruồi đều xuất phát cùng một lúc.
Hỏi: đến khi con ruồi bị đè bẹp gí giữa hai xe (đụng nhau) thì con ruồi bay được bao xa?
=> bài này đố rồi =>Gọi thời gian từ điểm bắt đầu đến khi đụng nhau là t => t*50+t*30=100 =>t=100/80 =>s=t*5000=6250km
sáng mai giải tiếp ,quá hay ,thanks Susu

player
30-06-2006, 08:20 PM
9. Những điểm nào trên quả địa cầu (giả sử là đúng hình cầu) có tính chất sau đây: đi về phía Nam 1km, sau đó về phía Tây 1km, sau đó về phía Bắc 1km thì quay lại điểm cũ.
=> chắc là cực bắc hả
16. (Bài toán Monty Hall) Monty Hall làm MC của một trò chơi trên truyền hình. Có ba cái cửa chắn trước người chơi. Đằng sau một trong các cánh cửa là phần thưởng. Bạn chọn một trong ba cánh cửa. Monty Hall xem đằng sau hai cánh còn lại và mở một cửa không có phần thưởng.
Hỏi: bạn sẽ giữ chọn lựa cũ hay đổi sang cửa còn lại để lấy phần thưởng? Tại sao?
=> có 3 cánh mà Monty Hall đã mở hết một cánh rùi thì còn lại 2 cánh trong đó có một cánh mình chọn .Vậy xác suất là 1/2 ,do vậy có đổi cửa khác cũng là 1/2 ,nên giữ chọn lựa cũ vậy

kalp
01-07-2006, 05:17 PM
Vậy giải câu 7 vậy nhé !
7/ Gọi 2 sợi dây là A và B đị
Đốt cùng lúc 2 sợi dậy nhưng sợi A chỉ đốt 1 đầu, còn sợi B đốt 2 đầu
Vậy khi sợi B cháy hết là 60'/2=30', khi đó sợi A cũng cháy đc 30' và còn lại 30'
Bi giờ ta đốt đầu còn lại của sợi A, khi A cháy hết là 30'/2=15'
Tất cả thời gian là 60'/2+30'/2=45'

kalp
01-07-2006, 08:02 PM
Câu 10:
*Gọi trạng thái ban đầu n=0 của cánh cửa bất kì là trạng thái đóng.
Vậy n mod 2 =0 => đóng, n mod 2 =1 => mở.
*người thứ nhất cánh cửa số 1; n=1 (C1;1)
*(C2;2),(C3;2);(C4;3);(C5;3);(C6;4),(C7,2);...
Như vậy (Cn,n) với n là ước của Cn. Còn bao nhiêu thì bít chít liền.

okie_xinmailabanthan
01-07-2006, 08:16 PM
Câu 1, 2, 3: Phần này nhóc không biết chị Su à. Chán hen.
Câu 6: Ta thấy a,b>0 , x,y < o suy ra ax+by max Khi x,y max, a,b min, suy ra x, y =-1 ( vì x,y,a,b Є Z ) và a,b=( 2,4) suy ra số nguyên lớn nhất không thể biểu diễn được dưới dạng ax+by=-6
Câu 7: Lấy 3/8 chiều dài của từng sợi. Đốt 2 phần sợi dây trên ta sẽ đo được 45 phút
Câu 8: Câu này đơn giản nhất trong các câu Okie phải xí phần mới được. Tổng cộng các số mà 12 tháng có thể tạo ra là 12 số ( đủ 12 mặt của 2 hình lập phương nha): 0-9 và 1,2. Ta sắp các số 1,2 ở 2 hình là Okie số nào cũng xếp được tuốt.
Câu9 : Ở địa cực Bắc thì điều đó đúng ( cũng trên lý thuyết nốt hà hà)
Câu 10: Ta gập đôi tờ giấy rồi cắt một đường hen. Đúng hơn thì gập bất kỳ đường nào đi qua tâm rồi cắt cũng được cả nhưng cách trên là đơn giản nhất ( vì lỗ hổng hình chữ nhật ở chính giữa nên có tâm đối xứng trùng với tâm đối xứng của hình ban đầu )
Cuối cùng thì cửa nào cũng đóng cả.
Câu 11: ( oái không có ah chị Su ơi ) hình như là phấn trên của câu 10 là câu 11
Câu 12: Câu này đòi hỏi tỉnh táo hen. Tắt tất cả các đèn đi rồi bật từng cái sang kiểm tra là xong. Không vi phạm một điều gì ở đề bài nha .
Câu 13: Chẳng ai nghe thấy trước cả.
Câu 14:
Câu 15: với 3 đường cắt qua tâm sẽ chia cái bánh thành 6 phần bằng nhau. Mỗi người lấy 2 phần là xong
Câu 16: hì nếu là nhóc thì không cần phải suy nghĩ vì đây chỉ là một trò chơi. Nếu phải lựa chọn nhóc nhóc sẽ vẫn giữ lựa chọn cũ.
Câu 17: Vì các xe buýt không phải cùng xuất phát ở cả 2 bên cùng một lúc vào buổi sáng mà đi từ một bến. Chuyến đầu tiên luôn từ một bên cố định là hướng Tiny. Xong
Câu 18: Thời gian 2 xe gặp nhau là 5/4 giờ nên con ruồi đã bay được 5/4.5000 Km.
Xong rồi giờ là chờ kết quả

kalp
01-07-2006, 08:18 PM
tiếp vậy :
Như vậy đành dùng thuật toán Pascal thui:
Program Kiemtra
Var Cn,i,n,j:longint;
Begin
*******************************
Cn=0;
for i:=1 to 500 do
*begin
**n:=0;
***begin
****for j:=1 to i do
******if i mod j =0 then n:=n+1
***end;
******if n mod 2=0 Cn:=Cn+1;
*end;
writeln('số cửa đóng là:',Cn);
readln;
********************************
END.
Kết quả cho ra 478 cửa !

SOLOHERO
02-07-2006, 07:06 PM
8. hình 1 có các số 1,2,3,4,5,6
hình 2 có các số 0,1,2,7,8,9
11.cửa 1 được chuyển trạng thái 1 lần , cửa 2 2 lần , cửa 3 3 lần ... vậy cửa số lẻ mở, cửa số chẵn đóng
13.không ai nghe thấy ai cả . Bạn thử hét cho người ở cách mình 30 tầng trong 1 cao ốc xem người ấy có nghe gì ko
15.người 1 chia bánh ra 3 phần , người 2 chia mỗi phần ra làm 3 , ta có 3 nhóm mỗi nhóm có 3 mẩu bánh , người 3 chia tiếp mỗi mẩu bánh ra 3 phần , ta có 3 nhóm bánh với 3 nhóm con , mỗi nhóm con có 3 mẩu bánh . Mỗi người lấy một mẩu bánh trong mỗi nhóm con -> công bằng
18.con ruồi không thể chết trong tai nạn xe tải , bởi với vận tốc 5000 km/h nó dư sức tránh kịp vật bay vào nó với vận tốc 30+50 km/h