মুদ্রা পরিবর্তন সমস্যা খুব তথ্যসমৃদ্ধ করা হয়। অধ্যায়ের মুদ্রার সীমাহীন সরবরাহের x_1জন্য x_mআপনাকে সংযোজনগুলির সংখ্যার সন্ধান করতে হবে y। উদাহরণস্বরূপ, প্রদত্ত x = {1,2,3}এবং y = 4আমাদের চারটি সমন্বয় রয়েছে:
{1,1,1,1}{1,1,2}{1,3}{2,2}
ভূমিকা
মুদ্রা পরিবর্তন সমস্যার বিভিন্ন প্রকারভেদ রয়েছে। এই প্রকরণে আমাদের দুটি অতিরিক্ত বিধিনিষেধ রয়েছে:
- প্রতিটি সম্প্রদায় অবশ্যই কমপক্ষে একবার ব্যবহার করা উচিত।
- ঠিক একটি নির্দিষ্ট সংখ্যক মুদ্রা অবশ্যই মোট ব্যবহার করতে হবে।
উদাহরণস্বরূপ, প্রদত্ত x = {1,2,3}, y = 36এবং n = 15যেখানে nযে কয়েন ব্যবহার করা আবশ্যক মোট সংখ্যা হয়, আমরা চার সমন্বয় পাবেন:
{1,2,2,2,2,2,2,2,3,3,3,3,3,3,3}(1 টি, 7 টি, 7 টি ত্রয়ী){1,1,2,2,2,2,2,3,3,3,3,3,3,3,3}(2 টি, 5 টি, 8 টি ত্রয়ী){1,1,1,2,2,2,3,3,3,3,3,3,3,3,3}(3 টি, 3 জন, 9 টি ত্রয়ী){1,1,1,1,2,3,3,3,3,3,3,3,3,3,3}(4 টি, 1 টিজো, 10 থ্রাইস)
চ্যালেঞ্জ
চ্যালেঞ্জটি হ'ল enumerateআপনার পছন্দের ভাষায় একটি ফাংশন লিখুন যা উপরে বর্ণিত সমস্ত সংযোজনকে গণ্য করে:
- সংখ্যার তালিকা। উদাহরণস্বরূপ
{1,5,10,25}। আপনি তালিকাগুলি বা অ্যারে ব্যবহার করতে পারেন। - একটি অ-নেতিবাচক পূর্ণসংখ্যা
yযা প্রতিটি সংমিশ্রণের যোগফলকে বোঝায়। - একটি অ-নেতিবাচক পূর্ণসংখ্যা
nযা কয়েনের মোট সংখ্যাকে বোঝায়।
আর্গুমেন্টের ক্রম কোনও ব্যাপার না। পয়েন্টফ্রি ফাংশন অনুমোদিত।
enumerateফাংশনের আউটপুট অবশ্যই সংমিশ্রনের একটি তালিকা হতে হবে। প্রতিটি সংমিশ্রণটি অবশ্যই অনন্য হতে হবে এবং এটি অবশ্যই nপূর্ণসংখ্যার একটি তালিকা হতে পারে যা পর্যন্ত যুক্ত হয় y। প্রতিটি সংজ্ঞা কমপক্ষে একবারে প্রতিটি সংমিশ্রণে উপস্থিত হওয়া উচিত এবং কোনও সংমিশ্রণ অনুপস্থিত হবে। পূর্ণসংখ্যার ক্রয় এবং সংমিশ্রণগুলি বিবেচনা করে না। আপনি আউটপুট জন্য তালিকা বা অ্যারে ব্যবহার করতে পারেন।
নিম্নলিখিত প্রান্ত ক্ষেত্রে মনে রাখবেন:
- যদি উভয়
yএবংnশূন্য হয় এবং সংখ্যার তালিকা খালি থাকে তবে আউটপুট হ'ল একটি সংমিশ্রনের তালিকা, খালি সংমিশ্রণ (অর্থাত্{{}})। - অন্যথায়, যদি
yশূন্য হয়,nশূন্য হয় বা সংখ্যার তালিকা খালি থাকে তবে আউটপুটটি শূন্য সংমিশ্রনের তালিকা (অর্থাত্{})। - আরও সাধারণভাবে, যদি
yসংখ্যার যোগফলেরnচেয়ে কম হয় বা সংখ্যার সংখ্যার চেয়ে কম হয় তবে আউটপুটটি শূন্য সংমিশ্রনের একটি তালিকা of
স্কোরিং বাইটগুলিতে পুরো প্রোগ্রামের আকারের উপর ভিত্তি করে তৈরি করা হবে। মনে রাখবেন যে এতে enumerateফাংশন, সহায়ক ফাংশন, আমদানি বিবৃতি ইত্যাদি অন্তর্ভুক্ত রয়েছে এতে পরীক্ষার কেসগুলি অন্তর্ভুক্ত নয়।
yসংখ্যার যোগফলের তুলনায় কম হয় তবে আপনার পুনরাবৃত্ত সমাধানের এক পর্যায়ে আপনি সেই বেস কেসে পৌঁছে যাবেন যেখানে ডিনোমিনেশনগুলির তালিকা খালি রয়েছে। সুতরাং, উত্তরটি হবে {}(অর্থাত্ কোনও সমাধান পাওয়া যায় নি)। যদি nসংখ্যার সংখ্যার চেয়ে কম হয় তবে আপনি অবশেষে বেস কেসে পৌঁছে যাবেন n = 0তবে কিন্তু y != 0। অতএব, উত্তর আবার হবে {}।