R
rabbit.thuy
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.
Bài tập này có dạng tương tự bài đổi tiền.
Cho số nguyên dương S và tập A gồm N số nguyên dương a1...aN, đôi 1 khác nhau và a1=1. Biết S có thể viết thành tổng các fần tử trong A.
Yêu cầu: tìm tổng các fần tử trong A bằng S mà chứa ít số hạng nhất, sau đó in ra các fần tử đó.
vd:
Sum.inp:
S=14 N=6
dãy A:
1 2 3 5 7 10
Sum.out:
2(số fần tử)
14=7+7
Bài này mình đã tìm được số lượng fần tử là 2 bằng fương fáp quy hoạch động
f[0]=0; full f[]=maxint;
For i:=1 to s do
for j:=1 to n do if i>a[j] then if f>=f[i-a[j]]+1 then f:=f[i-a[j]]+1;
Có đc f. Mình gặp vấn đề ở chỗ truy vết tìm ra 7. Mong mọi ng` giúp đỡ.
Cho số nguyên dương S và tập A gồm N số nguyên dương a1...aN, đôi 1 khác nhau và a1=1. Biết S có thể viết thành tổng các fần tử trong A.
Yêu cầu: tìm tổng các fần tử trong A bằng S mà chứa ít số hạng nhất, sau đó in ra các fần tử đó.
vd:
Sum.inp:
S=14 N=6
dãy A:
1 2 3 5 7 10
Sum.out:
2(số fần tử)
14=7+7
Bài này mình đã tìm được số lượng fần tử là 2 bằng fương fáp quy hoạch động
f[0]=0; full f[]=maxint;
For i:=1 to s do
for j:=1 to n do if i>a[j] then if f>=f[i-a[j]]+1 then f:=f[i-a[j]]+1;
Có đc f
Last edited by a moderator: