Tin học Phương pháp tham lam

Thảo luận trong 'Tin học cấp II' bắt đầu bởi Trâm Nguyễn Thị Ngọc, 17 Tháng hai 2019.

Lượt xem: 349

  1. Trâm Nguyễn Thị Ngọc

    Trâm Nguyễn Thị Ngọc Giải Nhất event Thế giới Sinh học 2 Thành viên

    Bài viết:
    1,503
    Điểm thành tích:
    216
    Nơi ở:
    Quảng Trị
    Trường học/Cơ quan:
    Trường TH&THCS Hải Ba
    [TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn học. Click ngay để nhận!


    Bạn đang TÌM HIỂU về nội dung bên dưới? NẾU CHƯA HIỂU RÕ hãy ĐĂNG NHẬP NGAY để được HỖ TRỢ TỐT NHẤT. Hoàn toàn miễn phí!

    Nhân dịp Tết, Ba của An chuẩn bị n túi lì xì, trong túi thứ i có số tiền là a và số nguyên b(b>0). Nếu b>0 thì An được phép chọn thêm b túi lì xì khác.Việc chọn thêm này là tích lũy.Đầu tiên, An chọn một túi bất kỳ, sau đó giả sử An đang có tổng số tiền là a và số túi được phép chọn thêm là b(b>0) , nếu An chọn thêm túi thứ i thì tổng số tiền là a+a và tổng số túi được chọn thêm là b-1+b. Cứ như vậy cho đến khi không được phép chọn thêm (b=0) hoặc hết túi lì xì. hãy giúp An xác định thứ tự chọn túi sao cho số tiền có được là lớn nhất
    @nguyen tran thanh nha
     
    nguyen tran thanh nhaAziz thích bài này.
  2. Aziz

    Aziz Học sinh mới Thành viên

    Bài viết:
    10
    Điểm thành tích:
    6
    Nơi ở:
    Đắk Lắk
    Trường học/Cơ quan:
    Cơ quan óc chó

    var a:array[1..50] of integer;
    t,thứ tự , n, b, k,i:integer;
    begin
    write('Nhap N');
    readln(n);
    for i:=1 to n do
    begin
    write('tui so',I,' ' );
    readln(a);
    end;
    write(' chon tui bat ki');
    readln(k);
    a[k]:=0; / gán ak =0 để loại AK ra r tìm thứ tự những bao có số tièn lì xi lớn nhất còn lại
    write('Nhap so bao Li xi DC chon');
    readln(b);
    writeln(' Thu tu can chon LA');
    if b>0 then
    while b<>0 do
    begin
    t:=a[k];
    for i:=1 to n do vòng / for tìm bao lì xi lớn nhất
    if t<a{i} then
    begin
    T:=a{i}
    thứ tự:=I;/ tìm ra thứ tự lớn nhất
    end;
    a[thứ tự]:=0; gán a[thứ tự ]=0 để ko gặp lại số lớn nhất này nưa
    write(thứ tự:6); in ra vị thứ của bao có số
    Lì xì lớn nhất
    b:=b-1; giảm số bao lì xì cần chọn sau khi đã chọn 1
    t:=0; / gán t=0 để reset vì trc đó t đã gán bằng bao lì xì. A lớn nhất
    nó lặp laik cho đến khi b=0 hoặc ko có bao lì xi nao nưa
    end;
    readln
    end.
     
    Last edited: 18 Tháng hai 2019
    Trâm Nguyễn Thị Ngọc thích bài này.
Chú ý: Trả lời bài viết tuân thủ NỘI QUY. Xin cảm ơn!

Draft saved Draft deleted

CHIA SẺ TRANG NÀY