Viết chương trình hoặc hàm lấy số nguyên dương N và in hoặc trả về chuỗi nghệ thuật NII N ASCII có nửa trên là hình bán nguyệt được làm bằng (
và nửa dưới của nó là một hình tam giác hướng xuống được làm bằng V
, với không gian được sử dụng như đệm.
Nói cách khác, tạo một hình nón kem ASCII: (đầu ra cho N = 17)
(((((
(((((((((
(((((((((((((
(((((((((((((
(((((((((((((((
(((((((((((((((
(((((((((((((((((
(((((((((((((((((
VVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVV
VVVVVVVVVVVVV
VVVVVVVVVVV
VVVVVVVVV
VVVVVVV
VVVVV
VVV
V
Ví dụ
Dưới đây là các đầu ra cho N = 1 đến 5. Lưu ý rằng đối với N lẻ, tam giác luôn phải là nửa lớn hơn.
V
((
VV
(((
VVV
V
((
((((
VVVV
VV
(((
(((((
VVVVV
VVV
V
Và đây là một triển khai tham chiếu Python 3 vô căn cứ:
N = int(input())
ic = [[' '] * N for _ in range(N)]
for y in range(N//2):
for x in range(N):
if (x - (N - 1) / 2)**2 + (y - (N - 1) / 2)**2 < (N / 2)**2:
ic[y][x] = '('
for y in range(N//2, N):
for x in range(y - N//2, N - (y - N//2)):
ic[y][x] = 'V'
for line in ic:
print(''.join(line))
Chi tiết
- Lấy đầu vào từ stdin, dòng lệnh hoặc làm đối số hàm. Xuất ra thiết bị xuất chuẩn hoặc tương tự, hoặc bạn có thể trả về chuỗi nếu bạn viết hàm.
- Phần hình nón phải khớp chính xác với việc thực hiện tham chiếu cho tất cả N.
- Phần kem không cần phải khớp chính xác với việc triển khai tham chiếu miễn là nó rõ ràng có hình bán nguyệt cho tất cả N. (Điều này là do đó bạn không phải lo lắng về sự khác biệt nhỏ trong hình bán nguyệt do lỗi vòng tròn .)
- Không nên có bất kỳ không gian hàng đầu không cần thiết nào nhưng có thể có những khoảng trống không cần thiết.
- Đầu ra có thể tùy ý chứa một dòng mới.
- Bạn có thể tùy chọn sử dụng bất kỳ 3 biệt khác ASCII in ký tự thay
(
,V
và không gian.
Chấm điểm
Đệ trình ngắn nhất tính bằng byte thắng. Tiebreaker đi đến trình cũ nhất.