এটি থেকে অনুপ্রাণিত (ব্যাখ্যাটি চুরির সাথে) এটি
পটভূমি
বলুন আপনার দুটি তালিকা A = [a_1, a_2, ..., a_n]এবং B = [b_1, b_2, ..., b_n]পূর্ণসংখ্যা রয়েছে। বলতে Aহয় সম্ভাব্য-বিভাজ্য দ্বারা Bআছে যদি একটি বিন্যাস Bকরে তোলে a_iদ্বারা বিভাজ্য b_iসবার জন্য i। সমস্যাটি তখন: সকলের পক্ষে বিভাজ্য Bতাই পুনরায় অর্ডার করা (মানে পারমিট) করা কি সম্ভব ? উদাহরণস্বরূপ, আপনি যদিa_ib_ii
A = [6, 12, 8]
B = [3, 4, 6]
তারপর উত্তর হবে True, যেমন Bহতে পুনর্বিন্যস্তভাবে যাবে B = [3, 6, 4]এবং তারপর আমরা যে হবে a_1 / b_1 = 2, a_2 / b_2 = 2এবং a_3 / b_3 = 2, যার মধ্যে সব পূর্ণসংখ্যার, তাই Aকর্তৃক-বিভাজ্য হয় B।
ফলাফল হিসাবে যা আউটপুট করা উচিত False, আমাদের থাকতে পারে:
A = [10, 12, 6, 5, 21, 25]
B = [2, 7, 5, 3, 12, 3]
এর কারণ হ'ল Falseআমরা B25 এবং 5 এর মধ্যে পুনরায় অর্ডার করতে পারি না Aতবে কেবলমাত্র বিভাজকটি B5 হবে তাই একটিকে বাদ দেওয়া হবে।
তোমার কাজ
আপনার কাজটি অবশ্যই দুটি নির্ধারণ (ইনপুট হিসাবে দেওয়া) সম্ভাব্য বিভাজ্য কিনা তা নির্ধারণ করা। আউটপুট হিসাবে আপনি কোনও স্বীকৃত পদ্ধতিতে ইনপুট নিতে পারেন।
তালিকাগুলির নকলগুলি একটি সম্ভাবনা এবং পূর্ণসংখ্যার উপর একমাত্র আকারের বিধিনিষেধগুলি হ'ল আপনার ভাষা। উভয় তালিকার সমস্ত পূর্ণসংখ্যা 0 এর চেয়ে বড় হবে এবং উভয় তালিকা সমান আকারের হবে।
সমস্ত সিদ্ধান্ত-সমস্যার মতোই আউটপুট মানগুলি অবশ্যই 2 টি পৃথক মান হতে পারে যা সত্য এবং মিথ্যা উপস্থাপন করে।
এটি একটি কোড-গল্ফ তাই সংক্ষিপ্ততম কোড জয়!
পরীক্ষার মামলা
Input, input => output
[6, 12, 8], [3, 4, 6] => True
[10, 5, 7], [1, 5, 100] => False
[14, 10053, 6, 9] [1,1,1,1] => True
[12] [7] => False
[0, 6, 19, 1, 3] [2, 3, 4, 5, 6] => undefined