[10066] Tìm kiếm số siêu nguyên tố bảo mật
Xem dạng PDF🤔 Mô tả bài toán:
Số siêu nguyên tố là một số nguyên tố khi xóa lần lượt các chữ số ở hàng đơn vị (bên phải) của nó thì các số mới tạo thành từ các chữ số còn lại vẫn là số nguyên tố cho đến khi chỉ còn một chữ số. Ví dụ số 2393 là số siêu nguyên tố vì các số: 2393, 239, 23, 2 đều là các số nguyên tố.
Yêu cầu: Viết một hàm bool SieuNguyenTo(int n) để kiểm tra xem n có phải là số siêu nguyên tố? Sau đó áp dụng hàm này để viết chương trình tìm tất các các số siêu nguyên tố có k chữ số.
💾 Dữ liệu vào:
Cho từ tệp văn bản SPRIME.INP gồm một dòng duy nhất chứa số nguyên k.
💻 Dữ liệu ra:
Ghi ra tệp văn bản SPRIME.OUT gồm một dòng duy nhất chứa tất cả các số siêu nguyên tố có k chữ số theo thứ tự tăng dần, mỗi số cách nhau bởi một khoảng trắng.
🔍 Ví dụ:
| SPRIME.INP | SPRIME.OUT |
|---|---|
| 2 | 23 29 31 37 53 59 71 73 79 |
📌 Ràng buộc dữ liệu:
+ Có 50% số test tương ứng với 50% số điểm của bài có 1 ≤ k ≤ 4;
+ Có 50% số test tương ứng với 50% số điểm của bài có 4 ≤ k ≤ 8.
⚠️ Lưu ý về File I/O:
Bài tập yêu cầu đọc dữ liệu từ tệp tin SPRIME.INP và xuất kết quả ra tệp tin SPRIME.OUT.
Lưu ý: Vui lòng dùng freopen bình thường để đọc ghi (như code mẫu khi chấm Themis).
Mẹo: Bạn hoàn toàn có thể dùng lệnh ios_base::sync_with_stdio(false); cin.tie(NULL); đi kèm với freopen để tăng tốc độ đọc ghi dữ liệu lớn!
Bình luận