Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Bài toán về Mảng 1 chiều

  1. #1
    Ngày gia nhập
    03 2020
    Bài viết
    1

    Mặc định Bài toán về Mảng 1 chiều

    Em mới học C++, gặp bài này không biết làm như thế nào kính nhờ mọi người giúp em với ạ.
    Bài toán: Em có 1 mảng 1 chiều gồm n phần tử (mình nhập "n" và giá trị các phần tử ví dụ 2 3 4 5 6 7 8 9....). Và 1 số TONG ví dụ =100.
    Đề ra: Cần tìm các kết quả để: a*2+b*3+c*4+d*5+.....=100.
    Kính mong được mọi người giúp em ạ.Em xin chân thàn cảm ơn.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    907

    Theo tôi thì bài này bạn nên dùng đệ quy, các tham số cho hàm đệ quy có thể là :
    . con trỏ mảng giá trị nhập.
    . số phần tử của mảng.
    . giá trị tổng từ đề bài.
    . vị trí đang xét trong lần đệ quy này.
    . con trỏ tới giá trị cộng dồn cho tới vị trí này.
    . con trỏ mảng phần tử các kết quả.

    Giá trị trả về là bool :
    . true : khi đã tới cuối mảng và biểu thức đúng.
    . false : khi đã tới cuối mảng và biểu thức sai.
    . false : khi chưa tới cuối mảng nhưng giá trị cộng dồn đã lớn hơn giá trị tổng.
    . trả về giá trị bool của lần đệ quy sâu hơn.

    Các giá trị a, b, c bạn nêu củng cần thử với từng cái một với x < TONG.

  3. #3
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    472

    Code:
    void tinhtoan(cap,tongconlai,manggiatri)
    +nếu cap=soheso-1
        +nếu tongconlai chia hết heso[cap]
            +thêm tongconlai div heso[cap] vào cuối manggiatri
            +lưu lại kết quả là manggiatri
            +bỏ đi phần tử cuối của manggiatri
    +nếu tongconlai=0
        +lưu lại kết quả là manggiatri
    +nếu khác
        +k=0
        +thuong=tongconlai div heso[cap]
        +batdau:
        +nếu k<=thuong
            +thêm k vào cuối manggiatri
            +gọi tinhtoan(cap+1,tongconlai-k*heso[cap],manggiatri)
            +bỏ đi phần tử cuối của manggiatri
            +tăng k lên 1 đơn vị và quay lại batdau:
    Gọi
    Code:
    tinhtoan(0,tong,manggiatri rỗng)
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi khoaph : 26-03-2020 lúc 09:26 AM.

Quyền hạn của bạn

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