Xuất phát từ một phủ tự nhiên, hãy tìm một phủ không d của F. Dữ liệu vào cho bởi file phukd.in, kết quả ghi lại trong file phukd.out.
2.17. Cho file dữ liệu dathuc.in đợc tổ chức nh sau:
- Dòng đầu tiên ghi lại bốn số nguyên, n, m, xo, l, mỗi số cách nhau bởi một và dấu trống;
- Dòng kế tiếp ghi lại n +1 số thực là hệ số của đa thức P(x) bậc n; - Dòng thứ 3 ghi lại m + 1 số thực là hệ số của đa thức Q(x) bậc m.
Hãy viết chơng trình đa kết quả ra màn hình và ghi vào file dathuc.out với những thông tin sau:
- Tính giá trị của các đa thức P(x0), Q(x0) ghi ở dòng thứ nhất mỗi số cách nhau một hay và dấu trống;
- Tính đạo hàm cấp l <n, l<m của đa thức P(x), Q(x) và ghi vào trong File kết quả ở hai dòng kế tiếp;
- Dòng tiếp theo là đa thức tổng R(x) = P(x) + Q(x); - Dòng tiếp theo là đa thức hiệu R(x) = P(x) - Q(x); - Dòng tiếp theo là đa thức tích R(x) = P(x) / Q(x);
- Hai dòng cuối cùng là đa thức thơng và đa thức phần d của phép chia P(x)/Q(x).
Ví dụ về File dathuc.in: 3 2 1 1 1 3 3 1 1 2 1 dathuc.out 8 4 3 6 3 2 2 1 4 5 2 1 2 1 0 1 5 10 10 5 1 1 1 0 0
2.18. Cho ma trận A và cấp m ì n. Hãy tìm tổng, hiệu của hai ma trận A và B. 2.19. Cho ma trận A cấp mìn và ma trận B cấp nìm. Hãy tính tích của hai ma trận
A và B.
2.20. Cho File dữ liệu matrix.in đợc tổ chức theo khuôn dạng nh sau: - Dòng đầu tiên là một số tự nhiên n là cấp của ma trận vuông A;
- n dòng tiếp theo mỗi dòng ghi n số thực. Mỗi số thực đợc phân biệt với nhau bởi một hoặc vài kí tự trống là các phần tử A[i][j] của ma trận vuông A;
Hãy viết chơng trình tìm hàng, cột hoặc đờng chéo có tổng các phần tử là lớn nhất. Ghi kết quả hàng, cột hoặc đờng chéo vào file matrix.out mỗi phần tử đ- ợc phân biệt bởi một vài ký tự trống.
Ví dụ file matrix.in 3 1 2 4 4 8 12 3 -3 0 file matricx.out 4 8 12
2.21. Cho File dữ liệu matrix.in đợc tổ chức theo khuôn dạng nh sau: - Dòng đầu tiên là một số tự nhiên n là cấp của ma trận vuông A;
- n dòng tiếp theo mỗi dòng ghi n số thực. Mỗi số thực đợc phân biệt với nhau bởi một hoặc vài kí tự trống là các phần tử A[i][j] của ma trận vuông A;
Tìm định thức của A và ghi lại kết quả vào file matrix.out. Ví dụ file matrix.in 3 1 2 4 4 8 12 3 -3 0 file matrix.out -36
2.21. Cho File dữ liệu matrix.in đợc tổ chức theo khuôn dạng nh sau: - Dòng đầu tiên là một số tự nhiên n là cấp của ma trận vuông A;
- n dòng tiếp theo mỗi dòng ghi n số thực mỗi số thực đợc phân biệt với nhau bởi một hoặc vài kí tự trống là các phần tử A[i][j] của ma trận vuông A;
Hãy viết chơng trình tìm ma trận nghịch đảo của ma trận vuông A. Ghi lại kết quả vào file matrix.in theo từng dòng. Trong trờng hợp ma trận không tồn tại nghịch đảo ghi lại thông báo “Nghịch đảo không tồn tại”.
Ví dụ file matrix.in 3 1 2 3 2 5 3 1 0 8 file matrix.out -40 16 9 13 -5 -3 5 -2 -1
2.23. Cho File dữ liệu matrix.in đợc tổ chức theo khuôn dạng nh sau: - Dòng đầu tiên là một số tự nhiên n là cấp của ma trận vuông A;
- n dòng tiếp theo mỗi dòng ghi n + 1 số thực mỗi số thực đợc phân biệt với nhau bởi một hoặc vài kí tự trống là các phần tử A[i][j] của ma trận vuông A và hệ số của vector n thành phần B;
Hãy viết chơng trình giải hệ phơng trình tuyến tính thuần nhất n ẩn AX=B bằng phơng pháp khử gaus. Nghiệm của hệ đợc ghi lại trong file matrix.out trên một dòng. Trong trờng hợp hệ suy biến. Ghi lại thông báo “Hệ suy biến”. Ví dụ về file matrix.in 3 1 1 -1 1 2 -1 1 0 3 1 -2 1 file matrix.out 0.33 1.33 0.66
2.24. Ma trận nhị phân là ma trận mà các phần tử của nó hoặc bằng 0 hoặc bằng 1. Đối với ma trận nhị phân ngời ta định nghĩa các phép hợp, giao, nhân logic và luỹ thừa nh sau:
- Phép hợp. Cho hai ma trận nhị phân cùng cấp m ì n , A = { aij }, B = { bij } (i = 1, 2. ., m, j = 1,2, . ., n ). Hợp của A với B cho ta ma trận C = { cij | cij = aij ∨bij ; i =1, 2, . . , m; j= 1, 2, . . , n}. Ví dụ: A = 1 0 1 B= 0 1 0 0 1 0 1 1 0 C = A ∨ B = 1 1 1 1 1 0
- Phép giao. Phép giao của hai ma trận A = {aij} và B = {bij} cùng cấp m ì n ho ta một ma trận cùng cấp C = { cij | cij = aij ∧ bij}; i = 1, 2, . . ., m; j = 1, 2, . . ., n. Ví dụ: A = 1 0 1 B= 0 1 0 0 1 0 1 1 0 C = A ∨ B = 0 0 0 0 1 0
- Phép nhân logic. Cho ma trận nhị phân A = {aij} cấp m ì k và B = {bij } cấp kìn. Ma trận C = { cij | cij = (ai1∧ b1j) ∨ (ai2 ∧ b2j) ∨ . . .∨ (aik∧bkj)} cấp mìn đợc gọi là ma trận tích logic của ma trận A với ma trận B và đợc ký hiệu là C = AΘB.
1 0 A = 0 1 B = 1 1 0 1 0 0 1 1 1 1 0 C = A Θ B = 0 1 1 1 1 0
- Phép luỹ thừa logic bậc r. Luỹ thừa logic bậc r của ma trận vuông nhị
phân A, ký hiệu A[r] = A Θ A ΘA Θ . . .ΘA (r lần).
Bài toán : Cho hai ma trận vuông nhị phân cấp n A = {aij} và B = {bij}. Hãy
viết chơng trình tính hợp, giao, nhân logic, và luỹ thừa bậc r của A và B.
2.25. Cho một bảng hình vuông gồm 5 x 5 hình vuông nhỏ. Trên mỗi ô ghi một chữ số thập phân nh hình vẽ sau: 3 5 1 1 1 5 0 0 3 3 1 0 3 4 3 1 3 4 2 1 1 3 3 1 3
Các chữ số điền vào phải thoả mãn những yêu cầu sau:
Yêu cầu 1: 12 số bao gồm năm số năm chữ số theo từng dòng đọc từ trái sang phải, năm số năm chữ số theo từng cột đọc từ trên xuống dới, hai số năm chữ số theo hai đờng chéo đọc từ trái sang phải đều là các số nguyên tố với 5 chữ số có nghĩa. 12 số này không nhất thiết phải khác nhau.
Yêu cầu 2: Tổng các chữ số của mỗi số trong 12 số trên đều bằng nhau. Trong ví dụ trên, tổng các chữ số của mỗi số đều bằng 11.
Hãy viết chơng trình thực hiện các công việc sau:
1- Nhập dữ liệu từ File ngto.in. Trong đó, dòng thứ nhất ghi số là tổng các chữ số của những số cần xây dựng, dòng thứ hai ghi chữ số ở góc bên trái hình vuông. 2- Tìm các lời giải có thể có ứng với dữ liệu vào đã nhập vào file ngto.out . Một lời
giải là một mảng 5 x 5 ghi thành 5 dòng mỗi dòng 5 chữ số tơng ứng với các hàng của hình vuông, hai lời giải đợc ghi cách nhau bởi một dòng trống, hai lời giải khác nhau nếu hai hình vuông có ít nhất một ô khác nhau. Trong ví dụ trên, ta có các file input& output nh sau:
Ngto.in ngto.out
11 3 5 1 1 1
3 5 0 0 3 3
1 0 3 4 3 1 3 4 2 1 1 3 4 2 1