Con số tương tự
Hai hình chữ nhật giống nhau nếu tỷ lệ các cạnh của chúng là như nhau.
Xét hai hình chữ nhật này; một hình chữ nhật cao 5 dòng và rộng 11 ký tự:
===========
===========
===========
===========
===========
và một hình chữ nhật cao 10 dòng và rộng 22 ký tự:
======================
======================
======================
======================
======================
======================
======================
======================
======================
======================
Những hình dạng này là tương tự nhau vì tỷ lệ của các mặt của chúng là như nhau. Để đặt nó chính thức (với là bên ngắn nhất và là bên dài nhất):
Bạn cũng có thể làm:
Các thách thức
Viết chương trình hoặc hàm có hình chữ nhật "chính" và một số hình chữ nhật "khác" và bản in của "cái khác" tương tự như "chính".
Đầu vào
Một hình dạng và một danh sách các hình dạng. Mỗi hình bao gồm 2 số nguyên dương khác không, biểu thị chiều rộng và chiều cao của hình chữ nhật. Ví dụ:
(4,2), (3,9)
biểu thị hai hình chữ nhật, 4x2 và 3x9. Các định dạng chính xác của đầu vào có thể là tuy nhiên bạn mong muốn.
Đầu ra
Các chỉ số của các hình dạng "khác" tương tự như "chính". Bạn có thể chọn xem các chỉ số dựa trên 0 hay 1, cũng như định dạng và thứ tự chính xác của đầu ra.
Chương trình mẫu
Trong Python:
main = eval(raw_input()) # The main rectangle.
rects = eval(raw_input()) # The list of rectangles.
similar = set()
for i, rect in enumerate(rects):
if max(main)*min(rect) == min(main)*max(rect): # Cross-multiply
# They are similar.
similar.add(i)
print similar
Đầu vào và đầu ra mẫu
Đầu vào:
(1, 2)
[(1, 2), (2, 4)]
Đầu ra:
set([0, 1])
Đầu vào:
(1, 2)
[(1, 9), (2, 5), (16, 8)]
Đầu ra:
set([2])
Chiến thắng
Đây là môn đánh gôn, vì vậy bài nộp ngắn nhất sẽ thắng.
Ghi chú
- Điều này nên đi mà không nói, nhưng sơ hở tiêu chuẩn bị cấm .
- Không có nội dung nào để định vị các số liệu tương tự có thể được sử dụng. (Tôi thậm chí không biết nếu điều đó tồn tại, nhưng tôi sẽ không ngạc nhiên!)
[(1,2), (2,4), (1,9), (2,5), (16,8)]
, chỉ [0,1,4]
và [1,2,5]
được phép, hoặc chúng ta cũng có thể xuất [1,1,0,0,1]
hoặc [(1,2), (2,4), (16,8)]
?
[1.0 2.0]
là một định dạng đầu vào chấp nhận được?