Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 17

Chủ đề: BT giải trí nè

  1. #1
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post

    Tệ thật ! BT giải trí nè

    cho mảng a:Ví dụ: 1 0 -5 -1 -5 2 3 -1 0 -7 2 -1 8 9 -5 1 0
    (không dùng hoán vị)viết ra các số có số lần lặp nhiều nhất:
    --> xuất: 0 -1 -5
    Được sửa bởi thuonghcm lúc 11:50 ngày 19-01-2007 Reason: không xếp tăng hay giảm
    Quote Quote

  2. #2
    Tham gia
    01-01-2006
    Bài viết
    202
    Like
    0
    Thanked 1 Time in 1 Post
    Đâu khó lắm đâu
    B1: Dùng 1 vòng lặp, quét hết xem có những số nào ( theo ví dụ thì có tập hợp {-7; -5; -1; 0; 1; 2; 3; 8; 9}. Tạo 1 mảng M 2 chiều, 2 dòng, số cột càng nhiều càng tốt. Nhập hết tập hợp trên vào dòng thứ 1.
    B2: Cho 1 biến i chạy từ 1 đến hết ở dòng trên, thống kê xem phần tử ở dòng trên xuất hiện bao nhiêu lần thì ghi vô dòng dưới.
    B3: Tìm max ở dòng dưới rồi xuất phần tử bên trên max.

    Ngoài ra còn một số cách khác như nhập cấc bước làm 1 chẳng hạn thì cũng dc, nhưng tựu trung là như vầy

  3. #3
    Tham gia
    08-08-2006
    Bài viết
    327
    Like
    0
    Thanked 0 Times in 0 Posts
    hì, bài nì dễ mà bạn, ở đây có ai biết về thuật tóan làm bài các con mã đi hết các ô của bàn cờ sao cho ko ô nào bị đi wa 2 lần ko??

  4. #4
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    hì hì hì ,,,, hay lắm, đây là bt giải trí mà, bạn grenadier1991 ơi!!! bạn có rành về đệ quy hôn:? tui đang n/c ĐQ mà sao chạy tay 0 hiểu, các bài ĐQ mà gọi trong vòng lặp đó

  5. #5
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    tui làm theo bạn, m1: 1 0 -5 -1 -5 2 3 -1 0 -7 2 -1 8 9 -5 1 0
    -----------------m2: 2 3 3 3 3 2 1 3 3 1 2 3 1 1 3 2 3
    max của mảng 2 lÀ 3-->nó sẽ xuất ra 0 0 0 -5 -5 -5 -1 -1 -1
    vậy là ...sẽ lúc đúng lúc sai nếu làm if a[i]<>a[i+1}then...
    Được sửa bởi thuonghcm lúc 21:10 ngày 19-01-2007 Reason: 1

  6. #6
    Tham gia
    01-01-2006
    Bài viết
    202
    Like
    0
    Thanked 1 Time in 1 Post
    Ko phải vậy, tui nói là chỉ tìm tập hợp thôi, tức là bộ {-7; -5; -1; 0; 1; 2; 3; 8; 9} đó, cái nào trùng thì bỏ đi thui. Sẽ ko xảy ra vấn đề như bạn đâu nếu làm cẩn thận theo từng bước.

  7. #7
    Tham gia
    09-07-2006
    Location
    Hà Nội
    Bài viết
    128
    Like
    0
    Thanked 0 Times in 0 Posts
    Bài này chỉ cần sort lại rồi đếm các phần tử liên tiếp bằng nhau thôi. Với cách này có thể làm được n lớn cỡ 10000 of longint. O(nlogn).
    Code:
    dãy  : 1 0 -5 -1 -5 2 3 -1 0 -7 2 -1 8 9 -5 1 0
    sort : -7 -5 -5 -5 -1 -1 -1 0 0 0 1 1 2 2 3 8 9
    đếm  : | -7 | -5 -5 -5 | -1 -1 -1 | 0 0 0 | 1 1 | 2 2 | 3 | 8 | 9
             1        3         3         3      2     2    1   1   1

  8. #8
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    cái nào trùng thì bỏ đi, dùng tập hợp à?set of... hơi khó, tui hỏng quen dùng set of...
    bạn f12 ơi trên đề có nói là 0 được sort mà .

  9. #9
    Tham gia
    09-07-2006
    Location
    Hà Nội
    Bài viết
    128
    Like
    0
    Thanked 0 Times in 0 Posts
    Đề bài không phải là tìm các số có số lần lặp nhiều nhất sao ? Đáp số đâuu có bị thay đổi khi ta sort lại dãy số.

    Thêm nữa đề bài có nói là không được sort đâu ?
    Được sửa bởi F12 lúc 19:33 ngày 20-01-2007

  10. #10
    Tham gia
    01-01-2006
    Bài viết
    202
    Like
    0
    Thanked 1 Time in 1 Post
    Sort cũng là 1 cách hay, nhưng cài đặt nó để đếm thì khó hơn

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •