Trong số học, một số n-mịn , trong đó n là một số nguyên tố nhất định, được định nghĩa toán học là một số nguyên dương không có thừa số nguyên tố nào lớn hơn n. Ví dụ, 42 là 7 mịn vì tất cả các thừa số nguyên tố của nó nhỏ hơn hoặc bằng 7, nhưng 44 không phải là 7 trơn vì nó cũng có 11 là một thừa số nguyên tố.
Xác định một số khá trơn tru là một số không có thừa số nguyên tố nào lớn hơn căn bậc hai của chính nó. Do đó, danh sách các số khá trơn tru có thể được xây dựng như sau:
- (EDITED!) 1 là một con số khá suôn sẻ, do hoàn toàn không có bất kỳ yếu tố chính nào. (Lưu ý rằng trong phiên bản gốc của câu hỏi này, 1 đã bị loại nhầm khỏi danh sách, vì vậy nếu bạn loại trừ nó khỏi kết quả đầu ra, bạn sẽ không bị đánh dấu sai.)
- Trong khoảng từ 4 (= 2 2 ) đến 8, các số khá mượt là 2 mịn, nghĩa là chúng có 2 là thừa số nguyên tố duy nhất.
- Trong khoảng từ 9 (= 3 2 ) đến 24, các số khá mượt là 3 số và có thể có 2 và 3 trong các thừa số nguyên tố của chúng.
- Trong khoảng từ 25 (= 5 2 ) đến 48, các số khá mượt là 5 số và có thể có 2, 3 và 5 trong các thừa số nguyên tố của chúng.
- Và như vậy, nâng cấp các tiêu chí mỗi khi đạt được bình phương của số nguyên tố tiếp theo.
Danh sách các số khá trơn tru được cố định và bắt đầu như sau: 1, 4, 8, 9, 12, 16, 18, 24, 25, ...
Thử thách của bạn là viết mã sẽ xuất ra tất cả các số khá mượt mà lên đến 10.000 (= 100 2 ). Phải có ít nhất một dấu phân cách (không quan trọng là loại nào - dấu cách, dấu phẩy, dòng mới, bất cứ thứ gì) giữa mỗi số trong danh sách và số tiếp theo, nhưng nó hoàn toàn không liên quan đến ký tự nào được sử dụng.
Như thường lệ, số byte thấp nhất sẽ thắng - rõ ràng, chỉ cần xuất ra danh sách sẽ không quá có lợi cho bạn ở đây. Chúc may mắn!
1
)