... Print(int [] a) tự viết
SángtạotrongThuậttoánvàLậptrình Tập I
26
CHƢƠNG 2
SINH DỮ LIỆU VÀO VÀ RA
Hầu hết các bài toán tin đều đòi hỏi dữ liệu vào và ra. Người ta thường ... System.Text;
SángtạotrongThuậttoánvàLậptrình Tập I
16
Trong C# một hàm có thể cho ra giá trị là một mảng - danh sách kiểu
ArrayList như hàm Find trong chương trình.
Khi ... (k - 1) * t;
SángtạotrongThuậttoánvàLậptrình Tập I
14
1. Dựa vào nhận xét: dãy ba số a, b, c tạo thành cấp số cộng khi và chỉ khi b là
trung bình cộng của a và c, tức là 2b...
... nhau liên tiếp trong dãy tìm được.
Thí dụ này cho biết tối đa có 3 đoạn 2, 4 và 5 tạo thành
dãy đoạn gối nhau liên tiếp.
5
2 7
1 3
7 9
3 4
4 5
3
2
4
5
Thuật toán
Tương tự ... xanh, 4 đoạn đỏ, 12 đoạn tím và 3 đoạn vàng để ghép thành
hình chữ nhật xanh – đỏ
tím
vàng với diện tích max là 15120 = (15*12)*(4*21) = (12*15)*(3*28).
Thuật toán
Phương pháp: Tham.
...
đoạn thẳng gối nhau liên tiếp trong dãy tìm được.
Thí dụ này cho biết hai đoạn 2 và 4 tạo thành dãy đoạn gối
nhau liên tiếp có tổng chiều dài max là 39.
Thuật toán
Phương pháp: Quy hoạch động...
... SángtạotrongThuậttoánvàLậptrình Tập I
4
Lời nói đầu
Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốn Sáng
tạo trongThuậttoánvàLậptrình với ... phát biểu bài
toán suy cho cùng là không quan trọng. Các kĩ thuậtlậptrìnhvà phương pháp
xây dựng thuật giải cho những bài toán thường được dùng rộng rãi trong quá
trình thiết kế và cài đặt ... thông. Nội dung
sách gồm hai phần. Phần thứ nhất giới thiệu vắn tắt về bản chất các phương
pháp và kĩ thuậtlậptrìnhvà các đề toán để các bạn thử sức. Phần thứ hai trình
bày và phân tích chi...
... số tự nhiên sắp tăng và ghi vào một tệp văn bản có tên cho
trước.
Thuật toán
Bạn đọc xem trực tiếp chương trìnhvà giải thích cách làm.
SángtạotrongThuậttoánvàLậptrình Tập I
5
... < 0)
{
SángtạotrongThuậttoánvàLậptrình Tập I
14
1. Dựa vào nhận xét: dãy ba số a, b, c tạo thành cấp số cộng khi và chỉ khi b là
trung bình cộng của a và c, tức là 2b ... được tạo bởi ba chữ số a, b và c.
a, b = 0 9 hai số a và b có thể nhận các giá trị từ 0 đến 9.
SángtạotrongThuậttoánvàLậptrình Tập I
11
Mỗi khi tìm được hai chữ số a và b...
...
ad
ad
/9
9
2
SángtạotrongThuậttoánvàLậptrình Tập I
4
Lời nói đầu
Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốn Sáng
tạo trongThuậttoánvàLậptrình với ...
Gen(200); Xem;
END.
SángtạotrongThuậttoánvàLậptrình Tập I
14
1. Dựa vào nhận xét: dãy ba số a, b, c tạo thành cấp số cộng khi và chỉ khi b là
trung bình cộng của a và c, tức là 2b ... mảng a.
Chú ý
SángtạotrongThuậttoánvàLậptrình Tập I
16
Trong C# một hàm có thể cho ra giá trị là một mảng - danh sách kiểu
ArrayList như hàm Find trong chương trình.
Khi...
... cách.
Thí dụ:
3 -1 4 5 3 7 1
sẽ được bố trí vào mảng n = 3 dòng, m = 3 cột như sau:
-1
4
5
3
7
1
Thuật toánSángtạotrongThuậttoánvàLậptrình Tập I
39
Gen('DATA.INP',200); ... System.Collections.Generic;
using System.Text;
SángtạotrongThuậttoánvàLậptrình Tập I
44
Với mỗi số n cho trước trong khoảng 1 9, ghi vào một tệp văn bản có tên cho
trước toàn bộ ... {4 so trong doan}
Toan: MangToan; {2 phep toan}
len: integer; {chieu dai doan}
SángtạotrongThuậttoánvàLậptrình Tập I
58
Mỗi lần bạn sờ một kí tự c nào đó rồi dựa vào kí...
... xử lí màn hình trong trường hợp chuyển dòng và cuộn màn hình khi thao tác ở dòng cuối
màn hình là đơn giản và được chỉ rõ trong chương trìnhSángtạotrongThuậttoánvàLậptrình Tập I
83 ...
if xx > LIM then
SángtạotrongThuậttoánvàLậptrình Tập I
76
Trò chơi này khá dễ lập trình. Bạn cần lưu ý sự khác biệt giữa vị trí của phần tử a[i, j]
trong ma trận a với vị ... switch (k)
{
case LEN: // Day quan duoi o trong LEN
if (dong < dd1)
{
a[dong,cot]=a[dong+1,cot];
SángtạotrongThuậttoánvàLậptrình Tập I
73
int x, int y)
{
...
...
SángtạotrongThuậttoánvàLậptrình Tập I
94
cây khung, xác định thành phần liên thông, xác định chu trình sẽ phải vận dụng cách
tổ chức dữ liệu tương tự như thuậttoán sẽ trình ... c:=m;
until d=c;
SángtạotrongThuậttoánvàLậptrình Tập I
95
lại, nếu i > j thì i phải nộp bài cho j. Trường hợp i = j cho biết hai quân bài x
và y đang có trong tay một người, ... tập khi và chỉ
khi a[x] = x. Dựa vào đây ta tổ chức hàm Find(x): xác định phần tử đại diện của tập
chứa x.
function Find(x: integer): integer;
begin
SángtạotrongThuậttoánvàLập trình...
...
begin
for i := 1 to N do
SángtạotrongThuậttoánvàLậptrình Tập I
151
Thuật toán
Ta dùng phương pháp cân. Gọi hai tệp chứa dữ liệu cần trộn là f và g, tệp chứa kết
quả trộn ... quy trình trên là
(| a | + | b |) + (| a | + | b |) + c = 2(| a | + | b |) + c.
Bảng dưới đây tính toán cho ba phương án để phát hiện ra phương án tối ưu.
SángtạotrongThuậttoánvàLậptrình ... cho biết cần lấy
tệp i trộn với tệp j và ghi kết quả vào tệp k. Các số trên cùng một dòng
cách nhau qua dấu cách.
SángtạotrongThuậttoánvàLậptrình Tập I
147
begin
while...
... lại một đỉnh khi phải
SángtạotrongThuậttoánvàLậptrình Tập I
188
d[i] = 0 - dinh i chua xuat hien
trong lich trinh v
d[i] = 1 - dinh i da xuat hien
trong lich trinh v,
... tiến tập trung vào việc nâng cao tốc độ tính toán khi
kiểm tra hai hậu đụng độ nhau. Mỗi khi tìm vị trí đặt hậu thứ i trên bàn cờ ta cần kiểm
SángtạotrongThuậttoánvàLậptrình Tập I
... (true);
SángtạotrongThuậttoánvàLậptrình Tập I
186
end;
close(g);
end;
Hàm Tim - từ đỉnh v[k] tìm một bước đi đến đỉnh i. Điều kiện: i phải là đỉnh chưa
thăm và đương nhiên...
...
65535/5/2
0/2/3
Thuật toán dừng.
Lưu ý rằng đỉnh xuất phát cho bài toán này là s = 2. Ta minh hoạ giải trình kết quả
cho ba thí dụ sau.
SángtạotrongThuậttoánvàLậptrình Tập I
220 ... chieu }
SángtạotrongThuậttoánvàLậptrình Tập I
191
CHƢƠNG 7
QUY HOẠCH ĐỘNG
Các bài toán quy hoạch động chiếm một vị trí khá quan trọngtrong tổ chức hoạt
động và sản xuất. ... Lo[i].BatBit(j);
SángtạotrongThuậttoánvàLậptrình Tập I
205
1. Lập hệ thức: Gọi T(i, j) là tổng giá trị thẩm mĩ khi giải bài toán với i bó hoa mã số
1 i và j lọ mã số 1 j,...
... Console.ReadLine();
}
SángtạotrongThuậttoánvàLậptrình Tập I
246
3.2.3. (i < n) và (j = n): Số k đã viết nằm ở cạnh BC và khác ô C. Ta gọi tình huống
này là tình huống Đông và xử lí theo ... hieu so cac thua so 2 và thua so 5}
i,k,c: longint;
begin {k – ket qua trung gian}
k := 1; m := 0;
find := k;
if (n <= 1) then exit;
SángtạotrongThuậttoánvàLậptrình Tập I
248 ... tính chữ số tận cùng của 2
(m mod 4)
với các trường hợp:
m mod 4 = 0, 1, 2 và 3.
SángtạotrongThuậttoánvàLậptrình Tập I
263
end
else {b cach a qua vi tri c}
begin
Hnx(n-1,a,b);...