অনুরূপ পরিসংখ্যান
দুটি দিকের আয়তক্ষেত্র একই হয় যদি তাদের পাশের অনুপাত একই হয়।
এই দুটি আয়তক্ষেত্র বিবেচনা করুন; একটি আয়তক্ষেত্র 5 লম্বা লম্বা এবং 11 টি চওড়া প্রশস্ত:
===========
===========
===========
===========
===========
এবং একটি আয়তক্ষেত্র 10 লম্বা লম্বা এবং 22 টি চওড়া প্রশস্ত:
======================
======================
======================
======================
======================
======================
======================
======================
======================
======================
এই আকারগুলি সমান কারণ তাদের পাশের অনুপাত একই। এটা আনুষ্ঠানিকভাবে করা করার জন্য (সঙ্গে সবচেয়ে কম পাশ হচ্ছে এবং দীর্ঘতম পাশ হচ্ছে):
আপনি এটি করতে পারেন:
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি "প্রধান" আয়তক্ষেত্র এবং কিছু "অন্যান্য" আয়তক্ষেত্র গ্রহণ করে এবং "অন্য" এর মধ্যে "মেইন" এর অনুরূপ প্রিন্ট করে।
ইনপুট
একটি আকার এবং আকারগুলির একটি তালিকা। প্রতিটি আকারে 2 অ-শূন্য ধনাত্মক পূর্ণসংখ্যা থাকে যা আয়তক্ষেত্রের প্রস্থ এবং উচ্চতা নির্দেশ করে। উদাহরণস্বরূপ, এটি:
(4,2), (3,9)
দুটি আয়তক্ষেত্র, একটি 4x2 এবং একটি 3x9 বোঝায়। ইনপুটটির সঠিক ফর্ম্যাটটি আপনার ইচ্ছা অনুযায়ীই হতে পারে।
আউটপুট
"প্রধান" এর অনুরূপ "অন্যান্য" আকারের সূচকগুলি। সূচকগুলি 0- বা 1-ভিত্তিক, পাশাপাশি আউটপুটটির সঠিক বিন্যাস এবং ক্রমগুলি চয়ন করতে পারেন।
নমুনা প্রোগ্রাম
পাইথনে:
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
নমুনা ইনপুট এবং আউটপুট
ইনপুট:
(1, 2)
[(1, 2), (2, 4)]
আউটপুট:
set([0, 1])
ইনপুট:
(1, 2)
[(1, 9), (2, 5), (16, 8)]
আউটপুট:
set([2])
জয়লাভ
এটি কোড-গল্ফ, তাই সংক্ষিপ্ততম জমাটি জয়লাভ করে।
নোট
- এটি বলার অপেক্ষা রাখে না, তবে স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয় ।
- অনুরূপ পরিসংখ্যান সনাক্ত করার জন্য কোনও বিল্টিন ব্যবহার করা যাবে না। (এটি বিদ্যমান কিনা আমি জানি না তবে আমি অবাক হব না!)
[(1,2), (2,4), (1,9), (2,5), (16,8)]
, কেবল [0,1,4]
এবং [1,2,5]
অনুমোদিত, বা আমরা আউটপুট [1,1,0,0,1]
বা করতে পারি [(1,2), (2,4), (16,8)]
?
[1.0 2.0]
একটি গ্রহণযোগ্য ইনপুট বিন্যাস হবে?