a Nhập vào từ tệp văn bản có tên là PT.INP ba số thực a, b và c.b Xuất ra tệp văn bản PT.OUT nghiệm của phương trình bậc hai: ax2 + bx + c = 0 có phân biệt trường hợp nghiệm thực và nghi
Trang 1Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là BD.INP hai số nguyên M và N?
b) Xuất ra màn hình biểu diễn thập phân của phân số M/N hoặc thông báo NO nếu không tồn tại cách biểu diễn
Ví dụ:
Trang 2a) Nhập vào từ tệp văn bản có tên là PT.INP ba số thực a, b và c.
b) Xuất ra tệp văn bản PT.OUT nghiệm của phương trình bậc hai: ax2 + bx + c
= 0 (có phân biệt trường hợp nghiệm thực và nghiệm phức) theo khuôn dạng:
- Mỗi nghiệm trên một dòng
- Trong trường hợp phương trình có vô số nghiệm ghi thông báo: VO SO NGHIEM vô nghiệm thì ghi thông báo: VO NGHIEM
Ví dụ:
Trang 3Xét bài toán Tháp Hà Nội:
Có N tầng tháp khác nhau đặt tại cọc a nào đó trong các cọc 1, 2, 3 theo thứ tự trên nhỏ dưới lớn Cần chuyển N tầng tháp sang cọc b khác a theo yêu cầu sau:
- Mỗi lần chỉ được chuyển một tầng tháp;
- Được sử dụng cọc trung gian còn lại c;
- Không được đặt tầng tháp lớn lên trên tầng tháp nhỏ.
Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là HN.INP ba số nguyên dương N, a, b, trong đó hai số a, b khác nhau và nhận 1 trong các giá trị 1, 2, 3
b) Xuất ra tệp văn bản HN.OUT dãy các thao tác di chuyển tháp theo qui cách sau:
- Dòng đầu ghi số lượng K các thao tác chuyển tháp ít nhất
- K dòng tiếp theo, mỗi dòng ghi hai số nguyên dương x, y cách nhau ít nhất một dấu cách với ý nghĩa chuyển một tầng tháp từ cột x sang cột y
Ví dụ:
1 2
1 3
1 2
3 2
Trang 4a) Nhập vào từ tệp văn bản có tên là DAY.INP số nguyên dương N và dãy N số thực a1, , aN theo khuôn dạng:
- Dòng đầu tiên chứa số N, 1 ≤ N ≤ 100
- Dòng tiếp theo chứa N số thực, hai số khác nhau được phân tách bởi các dấu cách
b) Xuất ra tệp văn bản MAX.OUT theo khuôn dạng:
- Dòng thứ nhất ghi giá trị lớn nhất MAX của N số đã cho
- Dòng 2 ghi số thứ tự trong dãy của các số có giá trị là MAX
Ví dụ:
3
Trang 5Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là DAY.INP số nguyên dương N và dãy N số thực a1, , aN theo khuôn dạng:
- Dòng đầu tiên chứa số N, 1 ≤ N ≤ 100
- Dòng tiếp theo chứa N số thực, hai số khác nhau được phân tách bởi các dấu cách
b) Xuất ra tệp văn bản MIN.OUT theo khuôn dạng:
- Dòng thứ nhất ghi giá trị nhỏ nhất MIN của N số đã cho
- Dòng 2 ghi số thứ tự trong dãy của các số có giá trị là MIN
Ví dụ:
3
Trang 6a) Nhập vào từ tệp văn bản có tên là DAY.INP số nguyên dương N và N số nguyên a1, , aN theo khuôn dạng:
- Dòng đầu tiên chứa số N, 1 ≤ N ≤ 100
- Dòng tiếp theo chứa N số nguyên, hai số khác nhau được phân tách bởi các dấu cách
b) Xuất ra tệp văn bản DAY.OUT theo khuôn dạng:
- Dòng thứ nhất ghi giá trị ước chung lớn nhất của N số đã cho
- Dòng thứ hai ghi giá trị bội chung nhỏ nhất của N số đã cho
Ví dụ:
3
Trang 7Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là DAY.INP các số nguyên dương N, a1, , aN theo khuôn dạng:
- Dòng đầu tiên chứa số N, 1 ≤ N ≤ 100
- Dòng tiếp theo chứa N số nguyên dương, hai số khác nhau được phân tách bởi các dấu cách
b) Xuất ra tệp văn bản NTO.OUT theo khuôn dạng:
- Dòng thứ nhất ghi số K là số lượng các số trong N số đã cho là nguyên tố
- Trong trường hợp K > 0, dòng tiếp theo ghi K số là số nguyên tố trong N số
đã cho theo thứ tự tăng
Ví dụ:
3
Trang 8a) Nhập vào từ tệp văn bản có tên là SO.INP số nguyên dương N.
b) Xuất ra tệp văn bản UOC.OUT theo khuôn dạng:
- Dòng thứ nhất ghi số K là số lượng các ước nguyên tố của số N
- K dòng tiếp theo, mối dòng ghi một số nguyên tố p và số a với ý nghĩa a là
số lớn nhất sao cho pa là ước của N
Ví dụ:
2 2
3 2
Trang 9Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là SO.INP số nguyên dương N và số nguyên
B, 2 ≤ B ≤ 36
b) Xuất ra tệp văn bản BD.OUT theo khuôn dạng:
- Dòng thứ nhất ghi tổng các chữ số của số N trong hệ thập phân
- Dòng tiếp theo ghi biểu diễn N trong hệ cơ số B
Ví dụ:
FF
Trang 10a) Nhập vào từ tệp văn bản có tên là MT.INP hai số nguyên dương M, N và MxN
số thực là các phần tử của ma trận A cấp MxN theo khuôn dạng:
- Dòng đầu chứa hai số nguyên dương M, N ≤ 100
- M dòng tiếp theo, mỗi dòng chứa N số thực mô tả một hàng của ma trận A b) Xuất ra tệp văn bản MT.OUT theo khuôn dạng:
- Dòng thứ nhất ghi giá trị lớn nhất của các tổng các số trên mỗi hàng
- Dòng thứ hai ghi giá trị nhỏ nhất của các tổng các số trên mỗi cột
Ví dụ:
2 2
1 -1
1 1
2 0
Trang 11Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là MT.INP hai số nguyên dương M, N và MxN
số thực là các phần tử của ma trận A cấp MxN theo khuôn dạng:
- Dòng đầu chứa hai số nguyên dương M, N ≤ 100
- M dòng tiếp theo, mỗi dòng chứa N số thực mô tả một hàng của ma trận A b) Xuất ra tệp văn bản MT.OUT theo khuôn dạng:
- Dòng thứ nhất ghi số K là số lượng các giá trị các phần tử là giá trị lớn nhất trong mỗi dòng và đồng thời là giá trị nhỏ nhất trong mỗi cột chứa chúng
- Trong trường hợp K > 0, dòng thứ hai ghi K giá trị các phần tử là giá trị lớn nhất trong mỗi dòng và đồng thời là giá trị nhỏ nhất trong mỗi cột chứa chúng
Ví dụ:
2 2
1 -1
1 1
2 1 1
Trang 12chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là VB.INP một văn bản S có không quá 1000 ký tự b) Xuất ra tệp văn bản VB.OUT các kết quả sau đây theo khuôn dạng:
- Dòng 1 ghi số K là số lượng các từ có trong văn bản S.
- Trong trường hợp K > 0, K dòng tiếp theo, mỗi dòng ghi 1 từ và số lần xuất hiện của mỗi
từ đó trong S?
Ví dụ:
A 2 BOM 1 CUOI 1
Trang 13Cho biểu thức E = a1x1 + + aNxN, với xi chỉ nhận các giá trị 0 hoặc 1.
Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ tệp văn bản có tên là BT.INP số nguyên dương N và các số thực bất kỳ a1, , aN theo khuôn dạng:
- Dòng đầu chứa số nguyên dương N ≤ 100
- Dòng tiếp theo chứa N số thực a1, , aN
b) Xuất ra tệp văn bản BT.OUT theo khuôn dạng:
- Dòng thứ nhất ghi giá trị lớn nhất của biểu thức E và các giá trị xi tương ứng
- Dòng thứ hai ghi giá trị nhỏ nhất của biểu thức E và các giá trị xi tương ứng
Ví dụ:
3
Trang 14- Mã sinh viên: xâu gồm 10 ký tự
- Họ tên: xâu có không quá 20 ký tự
- Tuổi: số nguyên
- Điểm trung bình: số thực có 1 chữ số sau dấu phẩy
- Xếp loại: Giỏi nếu điểm trung bình ≥ 8, Khá nếu điểm trung bình ≥ 6,5, Đạt nếu điểm trung bình ≥ 5, yếu nếu điểm trung bình < 5
Hãy viết chương trình trên C++ thực hiện các yêu cầu sau:
a) Nhập vào từ bàn phím số N và danh sách thông tin của N sinh viên?
b) Ghi vào file nhị phân SV.DAT danh sách N sinh viên đã nhập?
c) Xuất ra màn hình thông tin của N sinh viên đọc từ file nhị phân SV.DAT theo thứ tự giảm của điểm trung bình?
Trang 15Viết chương trình trên C++ tìm X = (x 1, x2, ,xn) và giá trị f(X) của hàm ∑
=
= n
i i i
x x x f
1 2
1, , , )
1
n
i
=
nguyên dương, n ≤ 100
Dữ liệu vào n, c j, aj, b được cho trong file data.in theo khuôn dạng sau:
• Dòng đầu tiên ghi lại số tự nhiên n và b Hai số được ghi cách nhau bởi một vài ký tự
trống;
• Dòng kế tiếp ghi lại n số c i (i=1, 2, , n) Hai số được ghi cách nhau bởi một vài ký tự
trống;
• Dòng cuối cùng ghi lại n số a i (i = 1, 2, ,n) Hai số được ghi cách nhau bởi một vài ký tự
trống
Giá trị tối ưu f(x 1,x2, ,xn) và phương án tối ưu X = (x1, x2, ,xn) tìm được ghi lại trong file ketqua.out theo khuôn dạng sau:
• Dòng đầu tiên ghi lại giá trị tối ưu f(x 1,x2, ,xn);
• Dòng kế tiếp ghi lại phương án tối ưu X = (x 1, x2, ,xn) Hai phần tử khác nhau của X được
ghi cách nhau bởi một vài khoảng trống
Ví dụ dưới đây sẽ minh họa cho file data.in và ketqua.out của bài toán:
4 12
9