Lớp II
Các nhà thiên văn phân loại đối tượng trên vùng trời đang nghiên cứu theo cường độ bức xạ Gamma của chúng. Đối tượng thứ i có cường độ bức xạ gi, (gi là số thực và lớn hơn 0, i= 1,2, ..., n). Các đối tượng được phân thành từng lớp: lớp I gồm các đối tượng có cùng cường độ bức xạ Gamma lớn nhất; lớp II gồm các đối tượng có cùng cường độ bức xạ Gamma lớn thứ hai, ...
Xác định số lượng đối tượng lớp II và cường độ bức xạ Gamma của đối tượng thuộc lớp này.
Em hãy lập trình giải bài toán trên. Trước khi lập trình cần tóm tắt bài toán, xác định thuật toán và cách tổ chức dữ liệu. Khi viết xong chương trình thì đề xuất thêm ít nhất hai bộ dữ liệu để kiểm thử chương trình.
Dữ liệu: Nhập vào từ thiết bị vào chuẩn gồm một dòng chứa các số thực dương g1, g2, …, gn.
Kết quả: Đưa ra thiết bị ra chuẩn trên một dòng, mỗi số cách nhau một dấu cách, số thứ nhất là số nguyên xác định số lượng đối tượng thuộc lớp II, số thứ hai là số thực xác định cường độ bức xạ của lớp II.
Ví dụ:
|
Input |
Output |
|
1.5 2.63 1.04 4.12 2.63 4.12 2.63 |
3 2.63 |
Quảng cáo
Trả lời:
Tóm tắt bài toán (Mô hình toán học)
Cho n số thực dương dương g1, g2, …, gn.
Yêu cầu: tìm giá trị lớn thứ hai của dãy số và số phần tử đạt giá trị này.
Thuật toán 1 và cách tổ chức dữ liệu
- Bước 1. Nhập dữ liệu, lưu theo chỉ số bắt đầu từ 0 (dùng kiểu danh sách để chứa dãy số).
- Bước 2. Sắp xếp dãy số theo thứ tự giảm dần.
- Bước 3. Đếm số phần tử đạt max → k.
- Bước 4. Đếm số phần tử có giá trị đạt gk
- Bước 5. Đưa ra các giá trị tìm được.
Tham khảo chương trình sau:

Nhận xét: Chương trình trên đơn giản nhưng mất nhiều thời gian thực hiện vì phải sắp xếp
Thuật toán 2 và cách tổ chức dữ liệu
- Bước 1. Nhập dữ liệu vào (dùng kiểu danh sách cho dãy số).
- Bước 2. Tìm max của dãy số.
- Bước 3. Xoá các phần tử bằng max.
- Bước 4. Tìm max trong dãy số mới.
- Bước 5. Đưa ra max và số phần tử đạt max.
Tham khảo chương trình sau:

Ví dụ một số bộ dữ liệu để kiểm thử chương trình:

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Đang tải chế độ Học...
Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay
Đăng ký VIP để học và luyện thi không giới hạn
Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.
- Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
- Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
- Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
- Tải xuống đề thi [DOCX] với đầy đủ đáp án
- Xem bài giảng đính kèm củng cố thêm kiến thức
- Bao gồm tất cả các bậc từ Tiểu học đến Đại học
- Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
- Đăng ký ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Tóm tắt bài toán (Mô hình toán học)
Cho: Dãy A gồm n số nguyên.
Yêu cầu: Đưa ra phân tử trung vị (phần tử nằm ở giữa dãy đã sắp xếp).
Thuật toán và chọn kiểu dữ liệu cho các biến
- Bước 1. Nhập số nguyên n, nhập danh sách A chứa n số nguyên.
- Bước 2. Sắp xếp danh sách A.
- Bước 3. Đưa ra phần tử A [len (A) //2].
Tham khảo chương trình sau:

Ví dụ một số bộ dữ liệu để kiểm thử chương trình:

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Tóm tắt bài toán (Mô hình toán học)
Cho: n và n - 1 số nguyên a1, a2, …, an-1 . Trong đó ai ≠ aj, với i ≠ j, với mọi i.
Yêu cầu: Tìm số bị thiếu không vượt quá n.
Thuật toán và cách tổ chức dữ liệu
- Nếu có đầy đủ n số thì tổng các số sẽ là
- Vậy số còn thiếu là:
- Không cần phải dùng dãy để lưu các số nhập vào.
- Các bước của thuật toán:
+ Bước 1. Nhập n.
+ Bước 2. Nhập và tính tổng các ai
+ Bước 3. Đưa ra kết quả.
Tham khảo chương trình sau:

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Đăng ký để học cùng Vietjack. Hoàn toàn miễn phí!
Bằng việc đăng ký, bạn đồng ý với Điều khoản sử dụng và Chính sách bảo mật của Vietjack.
