Chúng tôi đã có một vài các thách thức về xoắn ốc Ulam. Nhưng điều đó là không đủ.
Trong thử thách này, chúng ta sẽ vẽ một hình xoắn ốc Ulam hình tam giác (trái ngược với hình xoắn ốc Ulam hình vuông thông thường). Đây là một bản phác thảo của hình xoắn ốc trông như thế nào.
Như chúng ta biết, xoắn ốc Ulam sắp xếp tất cả các số tự nhiên theo hình xoắn ốc hướng ra ngoài và chỉ đánh dấu những số nguyên tố. Vì vậy, trong bản phác thảo ở trên, chỉ những con số xuất hiện màu đen (số nguyên tố) sẽ được hiển thị.
Các thách thức
Chấp nhận một số N làm đầu vào và hiển thị hình xoắn ốc Ulam hình tam giác lên đến số đó.
- Đầu vào có thể là stdin hoặc đối số chức năng.
- Hình xoắn ốc phải quay theo chiều dương (nghĩa là ngược chiều kim đồng hồ), như trong hình trên.
- Bất kỳ góc quay 120 độ nào của hình trên sẽ hợp lệ và lần lượt có thể khác nhau đối với các đầu vào khác nhau. Nhưng cạnh thấp nhất của các tam giác ngụ ý nên nằm ngang, vì các ngã rẽ duy nhất được phép là (bội số) 120 độ.
- Mã phải chạy theo lý thuyết (được cung cấp đủ thời gian và bộ nhớ) cho bất kỳ N nào cho đến những gì được phép bởi bất kỳ phép tính trung gian nào bạn thực hiện với loại dữ liệu mặc định của mình.
double
Là đủ; không cần các loại số nguyên lớn. - Tất cả các chức năng tích hợp cho phép.
- Tôi sẽ không chấp nhận câu trả lời của riêng mình (không phải tôi nghĩ rằng dù sao nó cũng sẽ ngắn nhất ...).
Định dạng đầu ra
Chọn bất kỳ thứ nào sau đây.
Hiển thị biểu đồ với điểm đánh dấu (dấu chấm, vòng tròn, chữ thập, bất cứ thứ gì bạn thích) ở các số nguyên tố và không có gì ở các số không nguyên tố. Tỷ lệ không cần phải giống nhau cho hai trục. Đó là, các tam giác ngụ ý không cần phải bằng nhau. Trục, đường lưới và nhãn trục là tùy chọn. Chỉ các điểm đánh dấu ở các số nguyên tố được yêu cầu.
Một ví dụ đầu ra cho N = 12 sẽ như sau (so sánh với bản phác thảo ở trên). Cốt truyện thứ hai là một ví dụ thú vị hơn, tương ứng với N = 10000.
- Tạo một tệp hình ảnh với ở trên, ở bất kỳ định dạng hình ảnh nổi tiếng nào (như png, tiff, bmp).
Hiển thị hình xoắn ốc như nghệ thuật ASCII , sử dụng một ký tự bạn chọn cho các số nguyên tố và không gian trống cho các số nguyên tố, với một khoảng trắng để phân tách các vị trí số trong cùng một hàng. Không gian hàng đầu hoặc dấu hoặc dòng mới được cho phép. Ví dụ: trường hợp N = 12 sử dụng
o
làm ký tự sẽ lào · · · o · o · · · o · o
trong đó tất nhiên chỉ có
o
dấu tại các số nguyên tố sẽ thực sự được hiển thị. Các·
phi số nguyên tố được hiển thị ở đây chỉ để tham khảo.
Tiêu chí chiến thắng
Phần thưởng thực tế là nhìn thấy cho chính bạn những mẫu golf tuyệt vời Code, mã ngắn nhất sẽ thắng.