kết quả từ 1 tới 2 trên 2

Ðề tài: [Cần giúp] Bài tập pascal

  1. #1
    Join Date
    Jan 2011
    Bài gởi
    13
    Thanks
    0
    Thanked 5 Times in 3 Posts

    Post [Cần giúp] Bài tập pascal

    Bài tập Pascal

    Bài1:
    cho dãy số nguyên dương a1, a2, ... ,an.
    dãy số ai, ai+1, ... ,aj thỏa mãn ai<= ai+1 <= ...<=aj với 1<=i <=j <=n được gọi là dãy con không giảm của dãy số đã cho.
    yêu cầu : trong số các dãy con không giảm của dãy số đã cho mà các phần tử của nó đều thuộc dãy số {uk} xác định bởi u1=1, un=un-1+k, hãy tìm dãy con có độ dài lớn nhất.

    Bài 2:
    bạn a viết liên tiếp các số tự nhiên từ 1 dến N thành dãy: 1 2 3 4 5 6 ...N. A đố B điền các dấu phép toán + hoặc - vào giữa 2 số tự nhiên liên tiếp sao cho biểu thức thu được có kết quả bằng 0.
    yêu cầu : hãy viêt chương trình liệt kê tất cả các cách điền dấu phếp toán thích hợp. Nguồn: http://diendankienthuc.net.

    To view links or images in signatures your post count must be 5 or greater. You currently have 0 posts.

  2. #2
    Join Date
    Jan 2011
    Đến từ
    Localhost
    Bài gởi
    36
    Thanks
    98
    Thanked 75 Times in 23 Posts
    Blog Entries
    1

    Học tập suôt đời!

    Mình sẽ gợi ý thuật toán, còn bạn hãy suy nghĩ tự viết chương trình :)

    Bài 1:
    Gọi M là độ dài dãy con ko giảm dài nhất, X là độ dài của dãy con tại điểm đang xét. Ban đầu cho M:=0. Rồi duyệt từ đầu dãy số, lúc nào thấy có đoạn có dạng tăng dần thì cho 1 biến X đếm tăng dần lên. Đến khi chạm phải 1 số nhỏ hơn số đứng trước thì dừng, rồi so sánh xem nếu X mà lớn hơn M thì gán M:=X, còn nếu X<=M thì bỏ qua. Nếu đề bài yêu cầu in dãy số này ra nữa thì chỉ cần thêm 1 biến nhớ nữa là j chẳng hạn, với j là số thứ tự của số đầu tiên trong dãy số đó. Mỗi lần mà có X>M thì vừa gán lại M, vừa gán lại j.
    --------------------------------
    Bài 2:
    Tính tổng các số, tổng các số từ 1-->N là N*(N+1)/2. Xem xem cái tổng này là chẵn hay lẻ. Nếu là lẻ thì nghỉ đi, ko bao giờ làm cho nó thành 0 được bằng cách dùng các dấu + và -. Nếu là chẵn thì làm phép quy nạp thôi, tìm tất cả các tổ hợp các số trong đó mà có tổng bằng nửa của N*(N-1)/2. Như vậy lấy tổng của tổ hợp này trừ đi tổng của các số còn lại sẽ đc kết quả bằng 0. Với mỗi trường hợp như vậy có 2 kết quả hiển thị, bằng cách đặt dấu trừ vào nhóm này hay nhóm kia thôi.

    Chúc bạn thành công! Nguồn: http://diendankienthuc.net.
    Đừng ví anh là gió !!!
    -----------------------------------------------------
    "Con người ta cũng như một phân số mà tử số là giá trị thực của họ còn mẫu số là giá trị mà họ tưởng là mình có.
    Nếu mẫu số càng lớn thì phân số ấy càng nhỏ,còn nếu mẫu số là vô tận thì phân số ấy bằng 0."

    ------------------
    Start New A Life

Chủ đề giống nhau

  1. Giúp em 1 bài lập trình PASCAL
    By Nhok_LTK in forum Hỏi đáp Tin học
    Trả lời: 6
    Bài mới gởi: 04-22-2012, 01:30 AM
  2. Giúp mình 2 bài pascal
    By vitcapcap in forum Hỏi đáp Tin học
    Trả lời: 2
    Bài mới gởi: 09-10-2010, 07:11 PM
  3. Trả lời: 3
    Bài mới gởi: 05-09-2010, 11:11 PM
  4. Có bài đồ họa pascal nhờ mọi người giúp?Gấp lắm
    By thuyai90 in forum Hỏi đáp Tin học
    Trả lời: 0
    Bài mới gởi: 04-24-2010, 11:01 PM
  5. Free Pascal 2.2.2 - phần mềm pascal hay hơn Turbo pascal 7.0
    By tranduchuytt2 in forum Web Development
    Trả lời: 1
    Bài mới gởi: 11-26-2009, 07:11 AM

Bookmarks

Quuyền Hạn Của Bạn

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •