কুইন্টোপিয়া এখানে মাল্টিনোমিয়াল সহগগুলি গণনা করার জন্য একটি চ্যালেঞ্জ পোস্ট করেছে (এখানে কিছু পাঠ্য সেখান থেকে অনুলিপি করা হয়েছে)। মাল্টিনোমিয়াল কোফিসিয়েন্টস মোড 2 গণনা করার জন্য একটি মজাদার অ্যালগরিদম রয়েছে।
সংখ্যার একটি তালিকা দেওয়া, কে 1 , কে 2 , ..., কে এম , বহুগুণীয় সহগের অবশিষ্টাংশ আউটপুট:
হ্রাস mod 2 নিম্নলিখিত অ্যালগরিদম এই দক্ষতার না: প্রত্যেকের জন্য ট আমি , এর বাইনারি সম্প্রসারণ গনা ট আমি , যে এটি একটি IJ যেমন প্রতিটি একটি IJ পারেন 1 অথবা 0 এবং
আর ≠ s এর জন্য এমন কোনও জে যেমন একটি আরজে = একটি এসজে = 1 থাকে তবে এর সাথে সম্পর্কিত মোড 2 মাল্টিনোমিয়াল সহগ 0 হয়, অন্যথায় মোড 2 মাল্টিনোমিয়াল সহগ 1 হয়।
কার্য
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা মি সংখ্যা, কে 1 , কে 2 , ..., কে এম , এবং আউটপুটগুলি নিয়ে আসে বা সংশ্লিষ্ট মাল্টিনোমিয়াল সহগটি প্রদান করে। তোমার প্রোগ্রাম ঐচ্ছিকরূপে লাগতে পারে মি একটি অতিরিক্ত আর্গুমেন্ট হিসাবে যদি প্রয়োজন হবে।
এই সংখ্যাগুলি কোনও পছন্দ মতো যে কোনও বিন্যাসে ইনপুট হতে পারে, উদাহরণস্বরূপ তালিকাগুলিতে গোষ্ঠীযুক্ত বা আনারিতে এনকোড করা হয়েছে বা অন্য যে কোনও কিছু, যতক্ষণ না বহুকোষীয় সহগের প্রকৃত গণনাটি আপনার কোড দ্বারা সম্পাদিত হয়, এবং এনকোডিং প্রক্রিয়া নয়।
বহুজাতিক গুণফলটি বিজোড় এবং যদি বহুজাতিক গুণাগুণ সমান হয় তবে কোনও মিথ্যা মান যদি আউটপুট কোনও সত্যবাদী মান হতে পারে।
মাল্টিনোমিয়াল সহগের গণনা করার জন্য নির্মিত বিল্ট-ইনগুলি অনুমোদিত নয়।
স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।
স্কোরিং
এটি কোড গল্ফ: বাইট জেতে সংক্ষিপ্ততম সমাধান।
উদাহরণ:
7, 16 এবং 1000 এর বহুজাতিক গুণফল খুঁজে পেতে, আমরা তাদের প্রত্যেককে বাইনারি প্রসারিত করি:
যেহেতু কোনও কলামে একের বেশি 1 নেই, বহুজাতিক গুণাগুণটি বিজোড় এবং তাই আমাদের সত্যবাদী কিছু আউটপুট করা উচিত।
,, ১, এবং multom এর বহুজাতিক গুণাগুণ খুঁজে পেতে, আমরা তাদের প্রত্যেককে বাইনারি প্রসারিত করি:
যেহেতু and 76 এবং উভয়ের বাইনারি প্রসারণে একটি 4 রয়েছে, বহু-বহুগুণ সহগ সমান এবং তাই আমরা একটি মিথ্যা মান আউটপুট করি।
পরীক্ষার কেস:
Input: [2, 0, 1]
Output: Truthy
Input: [5,4,3,2,1]
Output: Falsey
Input: [1,2,4,8,16]
Output: Truthy
Input: [7,16,76]
Output: Falsey
Input: [7,16,1000]
Output: Truthy
Input: [545, 1044, 266, 2240]
Output: Truthy
Input: [1282, 2068, 137, 584]
Output: Falsey
Input: [274728976, 546308480, 67272744, 135004166, 16790592, 33636865]
Output: Truthy
Input: [134285315, 33849872, 553780288, 544928, 4202764, 345243648]
Output: Falsey
==
যে সত্যতা এবং মিথ্যা ফ্লিপ করার অনুমতি দেওয়া হলে সাম্যতার জন্য বেশ কয়েকটি ভাষা একটি বাইট সংরক্ষণ করতে পারত।