Bài 1. CHUẨN BỊ BÀN
ĐỀ KIỂM TRA THÁNG 9
Tên chương trình: pretable.cpp
Kì thi Tin học năm nay có ? thí sinh tham gia. Ban tổ chức đang cần chuẩn bị bàn cho các thí sinh ngồi
dự thi. Biết mỗi bàn có thể ngồi được tối đa ? thí sinh.
Yêu cầu: Ban tổ chức cần chuẩn bị tối thiếu bao nhiêu bàn?
Input: Dữ liệu nhập vào từ bàn phím gồm hai dòng:
• Dòng thứ nhất chứa một số tự nhiên ? là số lượng thí sinh tham gia kì thi.
• Dòng thứ hai chứa một số tự nhiên ? là số lượng tối đa thí sinh có thể ngồi một bàn.
(? ≤ ? ≤ 109).
Output Giải thích
Output: In ra màn hình một số duy nhất là số lượng bàn tối thiểu cần phải chuẩn bị.
Ví dụ:
Input
8
2
Cần chuẩn bị tối thiểu 4 bàn, khi đó mỗi bàn có 2 thí sinh.
4
103
5
21
Cần chuẩn bị tối thiểu 21 bàn, khi đó có thể xếp như sau: có 20 bàn có 5
Quảng cáo
1 câu trả lời 282
Để giải bài toán này, chúng ta cần tính số bàn tối thiểu cần thiết cho \( N \) thí sinh, với điều kiện mỗi bàn có thể chứa tối đa \( K \) thí sinh.
### Phân tích bài toán:
1. **Số thí sinh** \( N \): Số lượng thí sinh tham gia kỳ thi.
2. **Số chỗ ngồi tối đa mỗi bàn** \( K \): Số lượng thí sinh tối đa có thể ngồi trên một bàn.
### Công thức tính số bàn:
Số bàn tối thiểu có thể được tính bằng công thức:
\[
\text{số bàn} = \left\lceil \frac{N}{K} \right\rceil
\]
Trong đó, \( \left\lceil x \right\rceil \) là hàm làm tròn lên số \( x \) đến số nguyên gần nhất.
Nếu \( N \) chia hết cho \( K \), số bàn sẽ là \( \frac{N}{K} \). Nếu không, chúng ta cần thêm một bàn cho số thí sinh còn lại.
### Cách tính số bàn trong C++:
Dưới đây là một đoạn mã C++ cho chương trình yêu cầu:
```cpp
#include <iostream>
using namespace std;
int main() {
long long N, K; // Sử dụng long long để xử lý các số lớn
cin >> N; // Đọc số lượng thí sinh
cin >> K; // Đọc số chỗ ngồi tối đa mỗi bàn
// Tính số bàn tối thiểu
long long numberOfTables = (N + K - 1) / K; // Tương đương với ceil(N / K)
// In ra kết quả
cout << numberOfTables << endl;
return 0;
}
```
### Giải thích đoạn mã:
1. **Nhập liệu**: Sử dụng `cin` để nhập số lượng thí sinh \( N \) và số chỗ ngồi tối đa \( K \).
2. **Tính số bàn**:
- Để tính số bàn, sử dụng phép tính `(N + K - 1) / K`. Cách này giúp làm tròn lên mà không cần sử dụng thư viện `cmath`.
3. **Xuất kết quả**: Sử dụng `cout` để in ra số bàn tối thiểu cần chuẩn bị.
### Ví dụ kiểm tra:
- Với đầu vào:
```
8
2
```
Kết quả sẽ là `4`, tức cần 4 bàn cho 8 thí sinh.
- Với đầu vào:
```
4
103
```
Kết quả sẽ là `1`, tức cần 1 bàn cho 4 thí sinh.
- Với đầu vào:
```
5
21
```
Kết quả sẽ là `1`, tức cần 1 bàn cho 5 thí sinh.
### Kết luận
Chương trình trên sẽ giúp bạn giải bài toán chuẩn bị bàn cho các thí sinh dự thi một cách hiệu quả và chính xác. Nếu có thêm câu hỏi hoặc cần hỗ trợ khác, hãy cho mình biết!
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
55595 -
Đã trả lời bởi chuyên gia
31538 -
30077
