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

Trâm Nguyễn Thị Ngọc

Giải Nhất event Thế giới Sinh học 2
Thành viên
13 Tháng mười 2018
1,523
1,339
216
18
Quảng Trị
Trường TH&THCS Hải Ba
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

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
 

Aziz

Học sinh mới
Thành viên
17 Tháng hai 2019
10
1
6
20
Đắk Lắk
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:
Top Bottom