Thứ Bảy, 13 tháng 7, 2019

Bài 11 - Giải thuật nhập môn

Viết chương trình nhập vào số kg gạo. Giả sử ta có 1 số bao như sau: 20 kg, 10 kg, 5 kg, 2 kg, 1 kg.
Tìm tất cả các cách cho gạo vào bao tương ứng với số gạo đã có.
Ví dụ:
- Nhập số kg gạo: 8
- Cách 1:
+ Bao 1kg: 8
- Cách 2:
+ Bao 2kg: 1
+ Bao 1kg: 6
- Cách 3:
+ Bao 5kg: 1
+ Bao 1: 3
- Cách 4:
+ Bao 5: 1
+ Bao 2: 1
+ Bao 1: 1
- Cách 5:
+ Bao 2 kg: 4
- Cách 6:
+ Bao 5 kg: 1
+ Bao 1 kg: 3
- Cách 7:
+ Bao 2 kg: 2
+ Bao 1 kg: 4


2 nhận xét:

  1. Uses crt;
    Var n,k,i,j:longint;
    t:array[1..5] of longint;
    f:array[0..1000,0..1000] of longint;
    Begin
    readln(k);
    t[1]:=1;
    t[2]:=2;
    t[3]:=5;
    t[4]:=10;
    t[5]:=20;
    For i:=1 to 5 do
    For j:=1 to k do
    Begin
    F[i,0]:=1;
    F[0,j]:=0;
    If j>=t[i] then
    f[i,j]:=f[i-1,j]+f[i,j-t[i]] else f[i,j]:=f[i-1,j];
    end;
    Write(f[5,k]);
    readln;
    end.

    Trả lờiXóa
  2. Nhận xét này đã bị tác giả xóa.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất