بکندباز

تابعی بنویسید که مقدار پول و لیستی از مقادیر سکه‌ها را دریافت کند و تعداد روش‌های مختلف ساخت مقدار پول با استفاده از سکه‌های داده شده را بشمارد.

مثال

coins_combinations(4, [1, 2]) ➞ 3
# ترکیبات ممکن:
# 1+1+1+1 = 4
# 1+1+2 = 4
# 2+2 = 4

نکات

  1. ترتیب سکه‌ها اهمیت ندارد. یعنی ترکیبات مثل 1+1+2 و 2+1+1 برابر هستند.
  2. تعداد سکه‌ها نامحدود است.
EXPECT_EQ(CoinsCombinations(4, {1, 2}), 3);
EXPECT_EQ(CoinsCombinations(10, {5, 2, 3}), 4);
EXPECT_EQ(CoinsCombinations(11, {5, 7}), 0);
EXPECT_EQ(CoinsCombinations(300, {5, 10, 20, 50, 100, 200, 500}), 1022);
EXPECT_EQ(CoinsCombinations(301, {5, 10, 20, 50, 100, 200, 500}), 0);
EXPECT_EQ(CoinsCombinations(199, {3, 5, 9, 15}), 760);
EXPECT_EQ(CoinsCombinations(419, {2, 5, 10, 20, 50}), 18515);

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط