יול.02

מספר דרכים לפרוט מטבע

מספר דרכים לפרוט מטבע

נותנים מערך של מטבעות הקיימות ומטבע שצריך לפרוט. יש למצוא כמה דרכים אפשריים קיימים לעשות זה.

הבעיה היא מסוג תיכנות דינמי.

נגיד אנחנו צריכים לפרוט מטבע של 10 ש"ח ומטבעות האפשריות הן 1,5,10,25

נעשה טבלה:

 amount/ כמות (מ - 0 עד למטבע)109876543210
דרכים עם מטבע 111111111111
דרכים עם מטבע 5 
322222




דרכים עם מטבע 10 
4









התוצא היא 4.

אלגוריטם:

  1. public int WaysToChange(int n, int[] denoms) {
  2. int ways = new int[n+1];
  3. ways[0] = 1;
  4. foreach(int denom in denoms) {
  5. for(int amount = 1; amount < n+1; amount++) {
  6. if(denom <= amount)
  7. ways[amount]+=ways[amount-denom];//formula - see table
  8. }
  9. }
  10. }


תגיות:
שתף את הסיפור הזה:

תגובות(0)

השאירו תגובה

קפטצ'ה לא מתאימה

תגובה